using UnityEngine; using UnityEngine.Events; using System.Collections; public class View : DGUI { private bool m_Initialized; public bool initialized { get{ return m_Initialized; } } public UnityEvent InitCompleted = new UnityEvent(); private void Init() { m_Initialized = true; OnInitCompleted (); InitCompleted.Invoke (); } protected virtual void OnInitCompleted() { } protected virtual void OnDestroy() { InitCompleted.RemoveAllListeners (); } protected virtual void OnVisibleChanged() { } private bool m_Visible = true; public bool visible { set{ m_Visible = value; if (m_Visible) transform.localScale = Vector3.one; else transform.localScale = Vector3.zero; if (m_Visible && !initialized) Init (); OnVisibleChanged (); } get{ return m_Visible; } } }