From 917e9e0b320775634dc2e710f7deac74fd0822f0 Mon Sep 17 00:00:00 2001 From: chai Date: Thu, 22 Oct 2020 23:30:02 +0800 Subject: * amplify shader editor --- .../Editor/Menu/Tools/ToolsMenuButtonParent.cs | 75 ++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 Assets/AmplifyShaderEditor/Plugins/Editor/Menu/Tools/ToolsMenuButtonParent.cs (limited to 'Assets/AmplifyShaderEditor/Plugins/Editor/Menu/Tools/ToolsMenuButtonParent.cs') diff --git a/Assets/AmplifyShaderEditor/Plugins/Editor/Menu/Tools/ToolsMenuButtonParent.cs b/Assets/AmplifyShaderEditor/Plugins/Editor/Menu/Tools/ToolsMenuButtonParent.cs new file mode 100644 index 00000000..b3136b4c --- /dev/null +++ b/Assets/AmplifyShaderEditor/Plugins/Editor/Menu/Tools/ToolsMenuButtonParent.cs @@ -0,0 +1,75 @@ +// Amplify Shader Editor - Visual Shader Editing Tool +// Copyright (c) Amplify Creations, Lda + +using UnityEngine; + +namespace AmplifyShaderEditor +{ + public class ToolsMenuButtonParent + { + protected AmplifyShaderEditorWindow m_parentWindow = null; + private float m_buttonSpacing = 10; + private int m_currentState = 0; + private bool m_isInitialized = false; + protected GUIContent m_content; + public ToolsMenuButtonParent( AmplifyShaderEditorWindow parentWindow, string text, string tooltip, float buttonSpacing ) + { + m_parentWindow = parentWindow; + m_content = new GUIContent( text, tooltip ); + + if ( buttonSpacing > 0 ) + m_buttonSpacing = buttonSpacing; + } + + public virtual void Draw() + { + if ( !m_isInitialized ) + { + Init(); + } + + //GUILayout.Space( m_buttonSpacing ); + } + + public virtual void Draw( Vector2 pos ) + { + Draw( pos.x, pos.y ); + } + + public virtual void Draw( float x ,float y ) + { + if ( !m_isInitialized ) + { + Init(); + } + } + + protected virtual void Init() + { + m_isInitialized = false; + } + + public virtual void SetStateOnButton( int state, string tooltip ) + { + m_currentState = state; + m_content.tooltip = tooltip; + } + + public virtual void SetStateOnButton( int state ) + { + m_currentState = state; + } + + public virtual void Destroy() { } + + public float ButtonSpacing + { + get { return m_buttonSpacing; } + } + + public int CurrentState + { + get { return m_currentState; } + } + } +} -- cgit v1.1-26-g67d0