9#include <unordered_set>
28 bool operator==(
const AssetRef& other)
const;
29 bool operator!=(
const AssetRef& other)
const;
30 bool operator==(
const Asset* other)
const;
31 bool operator!=(
const Asset* other)
const;
38 OCT_ASSERT(!mAsset || mAsset->GetType() == T::GetStaticType() || mAsset->Is(T::ClassRuntimeId()));
39 return static_cast<T*
>(
Get());
47 void EraseAsyncLoadRef();
49 Asset* mAsset =
nullptr;
52#if ASSET_LIVE_REF_TRACKING
54 static void ReplaceReferencesToAsset(
Asset* oldAsset,
Asset* newAsset);
55 static void EraseReferencesToAsset(
Asset* asset);
57 static void AddLiveRef(
AssetRef* ref);
58 static void RemoveLiveRef(
AssetRef* ref);
#define OCT_ASSERT(expr)
Definition Assertion.h:12
POLYPHASE_API MutexObject * GetAssetRefMutex()
Definition AssetRef.cpp:39
AssetRef SoundWaveRef
Definition AssetRef.h:68
AssetRef SpriteAnimationRef
Definition AssetRef.h:73
AssetRef TextureRef
Definition AssetRef.h:63
AssetRef TimelineRef
Definition AssetRef.h:71
AssetRef SceneRef
Definition AssetRef.h:70
AssetRef SkeletalMeshRef
Definition AssetRef.h:66
AssetRef StaticMeshRef
Definition AssetRef.h:64
AssetRef MaterialRef
Definition AssetRef.h:65
AssetRef ParticleSystemRef
Definition AssetRef.h:67
AssetRef DataAssetRef
Definition AssetRef.h:72
AssetRef FontRef
Definition AssetRef.h:69
Export macros for Polyphase Engine symbols.
#define POLYPHASE_API
Definition PolyphaseAPI.h:31
Definition AssetManager.h:120
T * Get() const
Definition AssetRef.h:36
Definition AssetManager.h:19