瀏覽代碼

Shifted long-form check/fetch of sound asset's SFXProfile to a convenience function
Fixed formatting on projectImporter.tscript file

Areloch 4 年之前
父節點
當前提交
2a8f8c15f3

+ 3 - 5
Engine/source/T3D/fx/precipitation.cpp

@@ -189,7 +189,7 @@ bool PrecipitationData::preload( bool server, String &errorStr )
    if( Parent::preload( server, errorStr) == false)
       return false;
 
-   if (!server && (mSoundAsset.isNull() || !mSoundAsset->getSfxProfile()))
+   if (!server && !getSFXProfile())
       return false;
 
    return true;
@@ -200,7 +200,6 @@ void PrecipitationData::packData(BitStream* stream)
    Parent::packData(stream);
 
    PACKDATA_SOUNDASSET(Sound);
-   //sfxWrite( stream, soundProfile );
 
    PACKDATA_IMAGEASSET(Drop);
 
@@ -218,7 +217,6 @@ void PrecipitationData::unpackData(BitStream* stream)
    Parent::unpackData(stream);
 
    UNPACKDATA_SOUNDASSET(Sound);
-   //sfxRead( stream, &soundProfile );
 
    UNPACKDATA_IMAGEASSET(Drop);
 
@@ -599,9 +597,9 @@ bool Precipitation::onNewDataBlock( GameBaseData *dptr, bool reload )
    {
       SFX_DELETE( mAmbientSound );
 
-      if ( mDataBlock->mSoundAsset && mDataBlock->mSoundAsset->getSfxProfile() )
+      if ( mDataBlock->getSFXProfile())
       {
-         mAmbientSound = SFX->createSource(mDataBlock->mSoundAsset->getSfxProfile(), &getTransform() );
+         mAmbientSound = SFX->createSource(mDataBlock->getSFXProfile(), &getTransform() );
          if ( mAmbientSound )
             mAmbientSound->play();
       }

+ 7 - 0
Engine/source/T3D/fx/precipitation.h

@@ -72,6 +72,13 @@ class PrecipitationData : public GameBaseData
 
       void onDropChanged() {}
       void onSplashChanged() {}
+
+      SFXProfile* getSFXProfile() {
+         if (mSoundAsset.notNull())
+            return mSoundAsset->getSfxProfile();
+         else
+            return NULL;
+      }
 };
 
 struct Raindrop

+ 13 - 13
Templates/BaseGame/game/tools/projectImporter/scripts/projectImporter.tscript

@@ -556,7 +556,7 @@ function processLegacyField(%line, %originalFieldName, %newFieldName)
       %targetFilename = sanitizeFilename(%value);
       
       if(isObject(%targetFilename))
-         {
+      {
          if(%originalFieldName $= "soundProfile")
          {
             $ProjectImporter::assetQuery.clear();
@@ -568,14 +568,14 @@ function processLegacyField(%line, %originalFieldName, %newFieldName)
          }
          else
          {
-         //likely a material name, so handle it that way
-         %assetId = MaterialAsset::getAssetIdByMaterialName(%targetFilename);
-      }
+            //likely a material name, so handle it that way
+            %assetId = MaterialAsset::getAssetIdByMaterialName(%targetFilename);
+         }
       }
       else
       {
          if(!isFile(%targetFilename))
-      {
+         {
             if(%originalFieldName $= "soundProfile")
             {
                $ProjectImporter::assetQuery.clear();
@@ -587,17 +587,17 @@ function processLegacyField(%line, %originalFieldName, %newFieldName)
             }
             else
             {
-         error("Legacy Project Importer - file described in line could not be found/is not valid");
-         return %line;
-      }
+               error("Legacy Project Importer - file described in line could not be found/is not valid");
+               return %line;
+            }
          }
          else
          {
-      $ProjectImporter::assetQuery.clear();
-      %foundAssets = AssetDatabase.findAssetLooseFile($ProjectImporter::assetQuery, %targetFilename);
-      if(%foundAssets != 0)
-      {
-         %assetId = $ProjectImporter::assetQuery.getAsset(0);
+            $ProjectImporter::assetQuery.clear();
+            %foundAssets = AssetDatabase.findAssetLooseFile($ProjectImporter::assetQuery, %targetFilename);
+            if(%foundAssets != 0)
+            {
+               %assetId = $ProjectImporter::assetQuery.getAsset(0);
             }
          }
       }