76 lines
1.4 KiB
C#
76 lines
1.4 KiB
C#
|
// 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; }
|
||
|
}
|
||
|
}
|
||
|
}
|