12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- // Amplify Shader Editor - Visual Shader Editing Tool
- // Copyright (c) Amplify Creations, Lda <info@amplify.pt>
- using UnityEngine;
- namespace AmplifyShaderEditor
- {
- public enum AutoPanLocation
- {
- TOP = 0,
- BOTTOM,
- LEFT,
- RIGHT
- }
- public class AutoPanData
- {
- private Rect m_area;
- private float m_size;
- private Vector2 m_velocity;
- private GUIStyle m_style;
- private Color m_color = new Color( 1f, 0f, 0f, 0.5f );
- private AutoPanLocation m_location;
- private float m_adjustWidth = 0;
- private float m_adjustInitialX = 0;
- public AutoPanData( AutoPanLocation location, float size, Vector2 vel )
- {
- m_area = new Rect();
- m_size = size;
- m_velocity = vel;
- m_location = location;
- }
- public bool CheckArea( Vector2 mousePosition, Rect window, bool draw )
- {
- float totalSize = m_size + m_adjustWidth;
- switch ( m_location )
- {
- case AutoPanLocation.TOP:
- {
- m_area.x = m_adjustInitialX;
- m_area.y = 0;
- m_area.width = window.width;
- m_area.height = totalSize;
- }
- break;
- case AutoPanLocation.BOTTOM:
- {
- m_area.x = m_adjustInitialX;
- m_area.y = window.height - totalSize;
- m_area.width = window.width;
- m_area.height = totalSize;
- }
- break;
- case AutoPanLocation.LEFT:
- {
- m_area.x = m_adjustInitialX;
- m_area.y = 0;
- m_area.width = totalSize;
- m_area.height = window.height;
- }
- break;
- case AutoPanLocation.RIGHT:
- {
- m_area.x = m_adjustInitialX + window.width - totalSize;
- m_area.y = 0;
- m_area.width = totalSize;
- m_area.height = window.height;
- }
- break;
- }
- if ( draw )
- {
- if ( m_style == null )
- {
- m_style = UIUtils.Box;
- }
- Color bufferedColor = GUI.color;
- GUI.color = m_color;
- GUI.Label( m_area, string.Empty, m_style );
- GUI.color = bufferedColor;
- }
- return m_area.Contains( mousePosition );
- }
- public float AdjustWidth { set { m_adjustWidth = value; } }
- public float AdjustInitialX { set { m_adjustInitialX = value; } }
- public Vector2 Velocity { get { return m_velocity; } }
- }
- }
|