Просмотр исходного кода

DBEditor callback fix for asset fields

JeffR 3 лет назад
Родитель
Сommit
6355740f6c
1 измененных файлов с 11 добавлено и 12 удалено
  1. 11 12
      Templates/BaseGame/game/tools/assetBrowser/scripts/assetBrowser.tscript

+ 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();
 }