summaryrefslogtreecommitdiff
path: root/Assets/AmplifyShaderEditor/Plugins/Editor/Menu/Tools/ToolsMenuButtonParent.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Assets/AmplifyShaderEditor/Plugins/Editor/Menu/Tools/ToolsMenuButtonParent.cs')
-rw-r--r--Assets/AmplifyShaderEditor/Plugins/Editor/Menu/Tools/ToolsMenuButtonParent.cs75
1 files changed, 75 insertions, 0 deletions
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 <info@amplify.pt>
+
+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; }
+ }
+ }
+}