asset load flow work

add reloading state to asset tracking,
convert most asset.isnull() checks on over to skipping out unless the errcode is ::Ok, or ::UsingFallback
add more errstriongcodes to hook up
skip load<type> execution if the asset loaded state is ::Ok
This commit is contained in:
AzaezelX 2023-10-08 13:19:43 -05:00
parent 753cbe32d9
commit b710a309bd
23 changed files with 177 additions and 35 deletions

View file

@ -157,7 +157,8 @@ bool GroundPlane::onAdd()
void GroundPlane::onRemove()
{
if (!mMaterialAsset.isNull())
U32 assetStatus = MaterialAsset::getAssetErrCode(mMaterialAsset);
if (assetStatus == AssetBase::Ok)
AssetDatabase.releaseAsset(mMaterialAsset.getAssetId());
//SAFE_DELETE(mMaterialInst);
@ -593,8 +594,11 @@ void GroundPlane::generateGrid( U32 width, U32 height, F32 squareSize,
void GroundPlane::getUtilizedAssets(Vector<StringTableEntry>* usedAssetsList)
{
if (!mMaterialAsset.isNull() && mMaterialAsset->getAssetId() != MaterialAsset::smNoMaterialAssetFallback)
U32 assetStatus = MaterialAsset::getAssetErrCode(mMaterialAsset);
if (assetStatus == AssetBase::Ok)
{
usedAssetsList->push_back_unique(mMaterialAsset->getAssetId());
}
}