Merge branch 'Preview4_0' into alpha40/SGCleanups2

This commit is contained in:
AzaezelX 2021-09-22 18:47:31 -05:00
commit c523951e65
37 changed files with 638 additions and 202 deletions

View file

@ -1613,3 +1613,15 @@ void TerrainBlock::deleteZodiacPrimitiveBuffer()
}
}
DefineEngineMethod(TerrainBlock, getTerrain, String, (), , "Returns the terrain file used for this terrain block, either via the asset or the filename assigned, which ever is valid")
{
return object->getTerrain();
}
DefineEngineMethod(TerrainBlock, getTerrainAsset, String, (), , "Returns the assetId used for this terrain block")
{
return object->getTerrainAssetId();
}
DefineEngineMethod(TerrainBlock, setTerrain, bool, (const char* terrain), , "Terrain assignment.first tries asset then flat file.")
{
return object->_setTerrain(StringTable->insert(terrain));
}

View file

@ -488,6 +488,39 @@ public:
void inspectPostApply();
virtual void getUtilizedAssets(Vector<StringTableEntry>* usedAssetsList);
const StringTableEntry getTerrain() const
{
if (mTerrainAsset && (mTerrainAsset->getTerrainFilePath() != StringTable->EmptyString()))
return mTerrainAsset->getTerrainFilePath();
else if (mTerrainAssetId != StringTable->EmptyString())
return mTerrainAssetId;
else if (mTerrFileName != StringTable->EmptyString())
return mTerrFileName;
else
return StringTable->EmptyString();
}
const StringTableEntry getTerrainAssetId() const
{
if (mTerrainAssetId != StringTable->EmptyString())
return mTerrainAssetId;
else
return StringTable->EmptyString();
}
bool _setTerrain(StringTableEntry terrain)
{
if (terrain == StringTable->EmptyString())
return false;
if (AssetDatabase.isDeclaredAsset(terrain))
setTerrainAsset(terrain);
else
mTerrFileName = terrain;
return true;
}
protected:
bool mUpdateBasetex;