summaryrefslogtreecommitdiff
path: root/Assets/uGUI-2017.1/UnityEngine.UI/EventSystem/UIBehaviour.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Assets/uGUI-2017.1/UnityEngine.UI/EventSystem/UIBehaviour.cs')
-rw-r--r--Assets/uGUI-2017.1/UnityEngine.UI/EventSystem/UIBehaviour.cs77
1 files changed, 77 insertions, 0 deletions
diff --git a/Assets/uGUI-2017.1/UnityEngine.UI/EventSystem/UIBehaviour.cs b/Assets/uGUI-2017.1/UnityEngine.UI/EventSystem/UIBehaviour.cs
new file mode 100644
index 0000000..fa24cff
--- /dev/null
+++ b/Assets/uGUI-2017.1/UnityEngine.UI/EventSystem/UIBehaviour.cs
@@ -0,0 +1,77 @@
+namespace UnityEngine.EventSystems
+{
+ public abstract class UIBehaviour : MonoBehaviour
+ {
+#region MonoBehaviour共有生命周期
+
+ protected virtual void Awake()
+ {}
+
+ protected virtual void OnEnable()
+ {}
+
+ protected virtual void Start()
+ {}
+
+ protected virtual void OnDisable()
+ {}
+
+ protected virtual void OnDestroy()
+ {}
+
+ // 父节点(包括非直接父节点的祖先节点)在hierachy中的父子层级改变前调用
+ protected virtual void OnBeforeTransformParentChanged()
+ { }
+
+ // 父节点(包括非直接父节点的祖先节点)在hierachy中的父子层级改变完调用
+ protected virtual void OnTransformParentChanged()
+ { }
+
+#endregion
+
+ public virtual bool IsActive()
+ {
+ return isActiveAndEnabled;
+ }
+
+#if UNITY_EDITOR
+ // 组件值在inspector中被修改时调用
+ protected virtual void OnValidate()
+ {}
+
+ // inspector中右键reset调用
+ protected virtual void Reset()
+ {}
+#endif
+
+#region UGUI特有回调函数
+
+ // 当gRectTransform大小改变(不包括位置)的时候回调。且如果子物体由于锚点的设置也会导致
+ // 大小改变时也会调用子物体的这个回调。如果子物体大小不会因此改变,那么不会触发这个回调
+ protected virtual void OnRectTransformDimensionsChange()
+ {}
+
+ // 用animation clip修此脚本属性值的时候触发。可以用于修正动画结果
+ protected virtual void OnDidApplyAnimationProperties()
+ {}
+
+ // 祖先节点CanvasGroup参数变化或enable\disable或canvasGroup下面的canvas的层级变化
+ protected virtual void OnCanvasGroupChanged()
+ {}
+
+ // 祖先节点Canvas enable\disable或OverrideSorting状态改变
+ protected virtual void OnCanvasHierarchyChanged()
+ {}
+
+#endregion
+
+ public bool IsDestroyed()
+ {
+ // Workaround for Unity native side of the object
+ // having been destroyed but accessing via interface
+ // won't call the overloaded ==
+ return this == null;
+ }
+
+ }
+}