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) {