summaryrefslogtreecommitdiff
path: root/Assets/ThirdParty/AmplifyShaderEditor/Plugins/Editor/DoCreateShader.cs
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2020-10-23 13:08:43 +0800
committerchai <chaifix@163.com>2020-10-23 13:08:43 +0800
commitb82da95b5181ac8bbae38efb13e950d5e88a4caa (patch)
tree48a6f3269276484bbc7cfc95f0651f40a2176aa1 /Assets/ThirdParty/AmplifyShaderEditor/Plugins/Editor/DoCreateShader.cs
parent917e9e0b320775634dc2e710f7deac74fd0822f0 (diff)
*移动amplify shader editor到third party目录
Diffstat (limited to 'Assets/ThirdParty/AmplifyShaderEditor/Plugins/Editor/DoCreateShader.cs')
-rw-r--r--Assets/ThirdParty/AmplifyShaderEditor/Plugins/Editor/DoCreateShader.cs48
1 files changed, 48 insertions, 0 deletions
diff --git a/Assets/ThirdParty/AmplifyShaderEditor/Plugins/Editor/DoCreateShader.cs b/Assets/ThirdParty/AmplifyShaderEditor/Plugins/Editor/DoCreateShader.cs
new file mode 100644
index 00000000..5fa1424f
--- /dev/null
+++ b/Assets/ThirdParty/AmplifyShaderEditor/Plugins/Editor/DoCreateShader.cs
@@ -0,0 +1,48 @@
+// Amplify Shader Editor - Visual Shader Editing Tool
+// Copyright (c) Amplify Creations, Lda <info@amplify.pt>
+
+using UnityEngine;
+using UnityEditor;
+using UnityEditor.ProjectWindowCallback;
+using System.IO;
+namespace AmplifyShaderEditor
+{
+ public class DoCreateStandardShader : EndNameEditAction
+ {
+ public override void Action( int instanceId, string pathName, string resourceFile )
+ {
+ string uniquePath = AssetDatabase.GenerateUniqueAssetPath( pathName );
+ string shaderName = Path.GetFileName( uniquePath );
+
+ if( IOUtils.AllOpenedWindows.Count > 0 )
+ {
+ EditorWindow openedWindow = AmplifyShaderEditorWindow.GetWindow<AmplifyShaderEditorWindow>();
+ AmplifyShaderEditorWindow currentWindow = AmplifyShaderEditorWindow.CreateTab();
+ WindowHelper.AddTab( openedWindow, currentWindow );
+ UIUtils.CurrentWindow = currentWindow;
+ }
+ else
+ {
+ AmplifyShaderEditorWindow currentWindow = AmplifyShaderEditorWindow.OpenWindow( shaderName, UIUtils.ShaderIcon );
+ UIUtils.CurrentWindow = currentWindow;
+ }
+
+ Shader shader = UIUtils.CreateNewEmpty( uniquePath, shaderName );
+ ProjectWindowUtil.ShowCreatedAsset( shader );
+ }
+ }
+
+ public class DoCreateTemplateShader : EndNameEditAction
+ {
+ public override void Action( int instanceId, string pathName, string resourceFile )
+ {
+ string uniquePath = AssetDatabase.GenerateUniqueAssetPath( pathName );
+ string shaderName = Path.GetFileName( uniquePath );
+ if( !string.IsNullOrEmpty( UIUtils.NewTemplateGUID ) )
+ {
+ Shader shader = AmplifyShaderEditorWindow.CreateNewTemplateShader( UIUtils.NewTemplateGUID, uniquePath, shaderName );
+ ProjectWindowUtil.ShowCreatedAsset( shader );
+ }
+ }
+ }
+}