Beispiel #1
0
        internal static bool Show(Rect rect, AnimatorController controller, int layerIndex, UnityEngine.Object[] targets)
        {
            UnityEngine.Object[] objArray = UnityEngine.Resources.FindObjectsOfTypeAll(typeof(AddStateMachineBehaviourComponentWindow));
            if (objArray.Length > 0)
            {
                ((EditorWindow)objArray[0]).Close();
                return(false);
            }
            long num = DateTime.Now.Ticks / 0x2710L;

            if (num >= (s_LastClosedTime + 50L))
            {
                Event.current.Use();
                if (s_AddComponentWindow == null)
                {
                    s_AddComponentWindow = ScriptableObject.CreateInstance <AddStateMachineBehaviourComponentWindow>();
                }
                s_AddComponentWindow.m_Controller = controller;
                s_AddComponentWindow.m_LayerIndex = layerIndex;
                s_AddComponentWindow.m_Targets    = targets;
                s_AddComponentWindow.Init(rect);
                return(true);
            }
            return(false);
        }
        protected void AddBehaviourButton()
        {
            bool flag2;

            EditorGUILayout.Space();
            Rect position = GUILayoutUtility.GetRect(styles.addBehaviourLabel, styles.addBehaviourButtonStyle, null);

            position.x    += (position.width - 230f) / 2f;
            position.width = 230f;
            bool flag = UnityEditor.Animations.AnimatorController.CanAddStateMachineBehaviours();

            using (new EditorGUI.DisabledScope(!flag))
            {
                flag2 = EditorGUI.ButtonMouseDown(position, styles.addBehaviourLabel, FocusType.Passive, styles.addBehaviourButtonStyle);
            }
            if (flag2)
            {
                UnityEngine.Object[] targets = new UnityEngine.Object[] { this.m_Target };
                if (AddStateMachineBehaviourComponentWindow.Show(position, this.m_ControllerContext, this.m_LayerIndexContext, targets))
                {
                    GUIUtility.ExitGUI();
                }
            }
            EditorGUILayout.Space();
            if (!flag)
            {
                EditorGUILayout.HelpBox("Please fix compile errors before creating new state machine behaviours", MessageType.Error, true);
            }
        }
Beispiel #3
0
 private void OnEnable()
 {
     s_AddComponentWindow = this;
     this.m_SelectedIndex = 0;
     this.m_Search        = EditorPrefs.GetString("StateMachineBehaviourSearchString", "");
     this.m_Tree          = null;
     this.m_SearchTree    = null;
 }
Beispiel #4
0
 private void OnDisable()
 {
     s_LastClosedTime     = DateTime.Now.Ticks / 0x2710L;
     s_AddComponentWindow = null;
 }
 private void OnDisable()
 {
     AddStateMachineBehaviourComponentWindow.s_LastClosedTime     = DateTime.Now.Ticks / 10000L;
     AddStateMachineBehaviourComponentWindow.s_AddComponentWindow = null;
 }