public override void OnInspectorGUI()
    {
        m_ctrl = target as UIAnimController;

        EditorGUILayout.BeginHorizontal();
        {
            //m_other = EditorGUILayout.ObjectField(m_other, typeof(UIAnimController), true) as UIAnimController;
            //if (GUILayout.Button("Load From Existing"))
            //{
            //    if (m_other == null) return;
            //    foreach (UIAnimData animData in m_other.m_animDatas)
            //    {
            //        UIAnimData newAnimData = new UIAnimData();
            //        foreach (UIAnimFrame animFrame in animData.m_frames)
            //        {
            //            newAnimData.m_frames.Add(UIAnimFrame.CreateFrom(animFrame));
            //        }
            //        m_ctrl.m_animDatas.Add(newAnimData);
            //    }
            //}
            if (GUILayout.Button("Copy"))
            {
                SaveTempData <List <UIAnimData> >(m_ctrl.m_animDatas);
            }

            if (GUILayout.Button("Paste"))
            {
                List <UIAnimData> dataList = LoadTempData <List <UIAnimData> >();
                for (int i = 0; i < dataList.Count; i++)
                {
                    if (i < m_ctrl.m_animDatas.Count)
                    {
                        m_ctrl.m_animDatas[i].CopyFramesFrom(dataList[i]);
                    }
                    else
                    {
                        m_ctrl.m_animDatas.Add(dataList[i]);
                    }
                }
            }
        }
        EditorGUILayout.EndHorizontal();
        if (GUILayout.Button("Play"))
        {
            if (Application.isPlaying)
            {
                m_ctrl.Play(null);
            }
        }
        if (GUILayout.Button("Log duration"))
        {
            Debug.Log(m_ctrl.GetDuration());
        }
        ListField <UIAnimData>("AnimData", m_ctrl, m_ctrl.m_animDatas, AnimDataEditor, ref m_ctrl.m_extendListView);
    }
 private void OnEnable()
 {
     Instance         = this;
     m_StampDisplayed = false;
 }
 private void OnPreOutro(UIAnimController animController)
 {
     _subContainerColl.ForEach(sc => sc.StopListening());
 }
 private void OnPostIntro(UIAnimController animController)
 {
     _subContainerColl.ForEach(sc => sc.StartListening());
 }
 private void OnPreOutro(UIAnimController animController)
 {
     _testButton.StopListening();
 }
 private void OnPostIntro(UIAnimController animController)
 {
     _testButton.StartListening();
 }