Parcourir la source

DBEditor callback fix for asset fields

JeffR il y a 3 ans
Parent
commit
6355740f6c

+ 11 - 12
Templates/BaseGame/game/tools/assetBrowser/scripts/assetBrowser.tscript

@@ -989,24 +989,23 @@ function AssetBrowser::changeAsset(%this)
    {
       %inspectorObject = %this.fieldTargetObject;
       %targetObject = %inspectorObject.getInspectObject();
+      
+      %inspectorObject.setObjectField(%this.fieldTargetName, %this.selectedAsset);
    }
-   
-   //alright, we've selectd an asset for a field, so time to set it!
-   if(%this.fieldTargetName $= "")
-      %cmd = %targetObject @ ".apply(\""@ %this.selectedAsset @ "\");";
    else
-      %cmd = %targetObject @ "." @ %this.fieldTargetName @ "=\"" @ %this.selectedAsset @ "\";";
-   //echo("Changing asset via the " @ %cmd @ " command");
-   eval(%cmd);
+   {
+      //alright, we've selectd an asset for a field, so time to set it!
+      if(%this.fieldTargetName $= "")
+         %cmd = %targetObject @ ".apply(\""@ %this.selectedAsset @ "\");";
+      else
+         %cmd = %targetObject @ "." @ %this.fieldTargetName @ "=\"" @ %this.selectedAsset @ "\";";
+      //echo("Changing asset via the " @ %cmd @ " command");
+      eval(%cmd);
+   }
    
    //Force update our object with the field change
    %targetObject.inspectPostApply();
    
-   if(isObject(%inspectorObject))
-   {
-      %inspectorObject.refresh();
-   }
-   
    //Flag us as dirty for editing purposes
    EWorldEditor.setSceneAsDirty();
 }