diff --git a/Templates/BaseGame/game/data/UI/sounds/buttonClick.asset.taml b/Templates/BaseGame/game/data/UI/sounds/buttonClick.asset.taml
new file mode 100644
index 000000000..99773fd2d
--- /dev/null
+++ b/Templates/BaseGame/game/data/UI/sounds/buttonClick.asset.taml
@@ -0,0 +1 @@
+
diff --git a/Templates/BaseGame/game/data/UI/sounds/buttonHover.asset.taml b/Templates/BaseGame/game/data/UI/sounds/buttonHover.asset.taml
new file mode 100644
index 000000000..00b1af405
--- /dev/null
+++ b/Templates/BaseGame/game/data/UI/sounds/buttonHover.asset.taml
@@ -0,0 +1 @@
+
diff --git a/Templates/BaseGame/game/tools/assetBrowser/scripts/assetBrowser.tscript b/Templates/BaseGame/game/tools/assetBrowser/scripts/assetBrowser.tscript
index e95ec0572..bf21750ff 100644
--- a/Templates/BaseGame/game/tools/assetBrowser/scripts/assetBrowser.tscript
+++ b/Templates/BaseGame/game/tools/assetBrowser/scripts/assetBrowser.tscript
@@ -1178,7 +1178,7 @@ function AssetBrowserPreviewButton::onRightClick(%this)
EditAssetPopup.enableItem(7, true);
//Is it an editable type?
- if(%assetType $= "ImageAsset" /*|| %assetType $= "GameObjectAsset"*/ || %assetType $= "CppAsset" || %assetType $= "SoundAsset")
+ if(%assetType $= "ImageAsset" /*|| %assetType $= "GameObjectAsset"*/ || %assetType $= "CppAsset")
{
EditAssetPopup.enableItem(0, false);
}
diff --git a/Templates/BaseGame/game/tools/assetBrowser/scripts/assetTypes/sound.tscript b/Templates/BaseGame/game/tools/assetBrowser/scripts/assetTypes/sound.tscript
index 304d21532..77eb1a7cd 100644
--- a/Templates/BaseGame/game/tools/assetBrowser/scripts/assetTypes/sound.tscript
+++ b/Templates/BaseGame/game/tools/assetBrowser/scripts/assetTypes/sound.tscript
@@ -1,13 +1,30 @@
+function AssetBrowser::editSoundAsset(%this, %assetDef)
+{
+ if (isObject($PreviewSoundSource))
+ sfxStop($PreviewSoundSource);
+ $PreviewSoundSource = %assetDef.playSound();
+}
+
function AssetBrowser::buildSoundAssetPreview(%this, %assetDef, %previewData)
{
%previewData.assetName = %assetDef.assetName;
%previewData.assetPath = %assetDef.soundFilePath;
- //%previewData.doubleClickCommand = "EditorOpenFileInTorsion( "@%previewData.assetPath@", 0 );";
if(%this.selectMode)
+ {
%previewData.doubleClickCommand = "AssetBrowser.selectAsset( AssetBrowser.selectedAsset );";
+ }
else
+ {
+ if(EditorSettings.value("Assets/Browser/doubleClickAction", "Edit Asset") $= "Edit Asset")
+ {
%previewData.doubleClickCommand = "AssetBrowser.editAsset( "@%assetDef@" );";
+ }
+ else
+ {
+ %previewData.doubleClickCommand = "AssetBrowser.onSoundAssetEditorDropped( "@%assetDef@" );";
+ }
+ }
%previewData.previewImage = "ToolsModule:soundIcon_image";
@@ -52,7 +69,26 @@ function AssetBrowser::onSoundAssetEditorDropped(%this, %assetDef, %position)
}
-function AssetBrowser::editSoundAsset(%this, %assetDef)
+function GuiInspectorTypeShapeAssetPtr::onControlDropped( %this, %payload, %position )
{
- %soundSource = %assetDef.playSound();
+ Canvas.popDialog(EditorDragAndDropLayer);
+
+ // Make sure this is a color swatch drag operation.
+ if( !%payload.parentGroup.isInNamespaceHierarchy( "AssetPreviewControlType_AssetDrop" ) )
+ return;
+
+ %assetType = %payload.assetType;
+
+ if(%assetType $= "SoundAsset")
+{
+ %module = %payload.moduleName;
+ %asset = %payload.assetName;
+
+ %targetComponent = %this.targetObject;
+ %targetComponent.soundAsset = %module @ ":" @ %asset;
+
+ //Inspector.refresh();
+ }
+
+ EWorldEditor.isDirty = true;
}
\ No newline at end of file
diff --git a/Templates/BaseGame/game/tools/assetBrowser/scripts/editAsset.tscript b/Templates/BaseGame/game/tools/assetBrowser/scripts/editAsset.tscript
index 856ba7d11..b031c6124 100644
--- a/Templates/BaseGame/game/tools/assetBrowser/scripts/editAsset.tscript
+++ b/Templates/BaseGame/game/tools/assetBrowser/scripts/editAsset.tscript
@@ -3,7 +3,9 @@ function AssetBrowser_editAsset::saveAsset(%this)
%file = AssetDatabase.getAssetFilePath(%this.editedAssetId);
%success = TamlWrite(AssetBrowser_editAsset.editedAsset, %file);
- AssetBrowser.loadFilters();
+ AssetBrowser.reloadAsset(%this.editedAssetId);
+
+ AssetBrowser.refresh();
Canvas.popDialog(AssetBrowser_editAsset);
}
@@ -79,6 +81,17 @@ function AssetBrowser::editAssetInfo(%this)
}
//------------------------------------------------------------
+function AssetBrowser::reloadAsset(%this, %assetId)
+{
+ %moduleName = getToken(%assetId, ":", 0);
+ %moduleDef = ModuleDatabase.findModule(%moduleName);
+
+ %assetName = getToken(%assetId, ":", 1);
+ %assetFilePath = AssetDatabase.getAssetFilePath(%assetId);
+
+ AssetDatabase.removeDeclaredAsset(%assetId);
+ AssetDatabase.addDeclaredAsset(%moduleDef, %assetFilePath);
+}
function AssetBrowser::refreshAsset(%this, %assetId)
{