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());
55 void EraseAsyncLoadRef();
57 Asset* mAsset =
nullptr;
60#if ASSET_LIVE_REF_TRACKING
62 static void ReplaceReferencesToAsset(
Asset* oldAsset,
Asset* newAsset);
63 static void EraseReferencesToAsset(
Asset* asset);
65 static void AddLiveRef(
AssetRef* ref);
66 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:76
AssetRef BoneMaskRef
Definition AssetRef.h:85
AssetRef SpriteAnimationRef
Definition AssetRef.h:82
AssetRef TextureRef
Definition AssetRef.h:71
AssetRef TimelineRef
Definition AssetRef.h:79
AssetRef SceneRef
Definition AssetRef.h:78
AssetRef SkeletalMeshRef
Definition AssetRef.h:74
AssetRef StaticMeshRef
Definition AssetRef.h:72
AssetRef MaterialRef
Definition AssetRef.h:73
AssetRef TransformAnimationRef
Definition AssetRef.h:80
AssetRef ParticleSystemRef
Definition AssetRef.h:75
AssetRef DataAssetRef
Definition AssetRef.h:81
AssetRef SkeletalAnimationRef
Definition AssetRef.h:83
AssetRef FontRef
Definition AssetRef.h:77
AssetRef HumanoidAvatarRef
Definition AssetRef.h:84
Export macros for Polyphase Engine symbols.
#define POLYPHASE_API
Definition PolyphaseAPI.h:31
Definition AssetManager.h:135
T * Get() const
Definition AssetRef.h:36
Definition AssetManager.h:19