22#include "RNA_prototypes.hh"
43 &srna,
"asset_library_identifier",
nullptr, 0,
"Asset Library Identifier",
"");
46 &srna,
"relative_asset_identifier",
nullptr, 0,
"Relative Asset Identifier",
"");
79 if (
asset.library_relative_identifier() == relative_identifier) {
80 matching_asset = &
asset;
86 if (reports && !matching_asset) {
89 reports,
RPT_ERROR,
"No asset found at path \"%s\"", relative_identifier.
c_str());
95 return matching_asset;
117 if (
asset.make_weak_reference() == weak_ref) {
118 matching_asset = &
asset;
124 if (reports && !matching_asset) {
131 return matching_asset;
140 &
ptr,
"asset_library_identifier",
nullptr, 0,
nullptr);
142 &
ptr,
"relative_asset_identifier",
nullptr, 0,
nullptr);
162 col->context_string_set(
"operator_id", operator_id);
Main runtime representation of an asset.
void BKE_reportf(ReportList *reports, eReportType type, const char *format,...) ATTR_PRINTF_FORMAT(3
void BKE_report(ReportList *reports, eReportType type, const char *message)
constexpr const char * c_str() const
const char * c_str() const
AssetCatalogPath catalog_path() const
StringRefNull get_name() const
std::string resolve_asset_weak_reference_to_full_path(const AssetWeakReference &asset_reference)
AssetLibraryReference all_library_reference()
void storage_fetch(const AssetLibraryReference *library_reference, const bContext *C)
void iterate(const AssetLibraryReference &library_reference, AssetListIterFn fn)
asset_system::AssetLibrary * library_get_once_available(const AssetLibraryReference &library_reference)
bool is_loaded(const AssetLibraryReference *library_reference)
void draw_node_menu_for_catalog(const asset_system::AssetCatalogTreeItem &item, const StringRefNull operator_id, const StringRefNull menu_name, uiLayout &layout)
const asset_system::AssetRepresentation * find_asset_from_weak_ref(const bContext &C, const AssetWeakReference &weak_ref, ReportList *reports)
static const asset_system::AssetRepresentation * get_local_asset_from_relative_identifier(const bContext &C, const StringRefNull relative_identifier, ReportList *reports)
void operator_asset_reference_props_register(StructRNA &srna)
void draw_menu_for_catalog(const asset_system::AssetCatalogTreeItem &item, const StringRefNull menu_name, uiLayout &layout)
const asset_system::AssetRepresentation * operator_asset_reference_props_get_asset_from_all_library(const bContext &C, PointerRNA &ptr, ReportList *reports)
void operator_asset_reference_props_set(const asset_system::AssetRepresentation &asset, PointerRNA &ptr)
bool operator_asset_reference_props_is_set(PointerRNA &ptr)
void RNA_string_set(PointerRNA *ptr, const char *name, const char *value)
char * RNA_string_get_alloc(PointerRNA *ptr, const char *name, char *fixedbuf, int fixedlen, int *r_len)
bool RNA_struct_property_is_set(PointerRNA *ptr, const char *identifier)
void RNA_enum_set(PointerRNA *ptr, const char *name, int value)
int RNA_enum_get(PointerRNA *ptr, const char *name)
const EnumPropertyItem rna_enum_asset_library_type_items[]
PropertyRNA * RNA_def_string(StructOrFunctionRNA *cont_, const char *identifier, const char *default_value, const int maxlen, const char *ui_name, const char *ui_description)
PropertyRNA * RNA_def_enum(StructOrFunctionRNA *cont_, const char *identifier, const EnumPropertyItem *items, const int default_value, const char *ui_name, const char *ui_description)
void RNA_def_property_flag(PropertyRNA *prop, PropertyFlag flag)
const char * relative_asset_identifier
const char * asset_library_identifier
uiLayout & column(bool align)