예제 #1
0
        public override void OnInspectorGUI()
        {
            ObjectAnim myScript = (ObjectAnim)target;

            AddGroup(myScript);
            SetGroup(myScript);
            AnimInfoOperation(myScript);
            if (GUI.changed)
            {
                EditorUtility.SetDirty(target);
            }
        }
예제 #2
0
        private void AnimInfoOperation(ObjectAnim myScript)
        {
            if (myScript.animGroups.Count > 0)
            {
                DrawDefaultInspector();
                GUILayout.Space(20);
                EditorGUILayout.BeginVertical();
                EditorGUILayout.BeginHorizontal();

                GUI.backgroundColor = Color.green;
                if (GUILayout.Button("增加节点"))
                {
                    myScript.AddNode();
                }
                GUI.backgroundColor = Color.white;
                if (GUILayout.Button("修改节点"))
                {
                    //myScript
                }
                if (GUILayout.Button("查看节点"))
                {
                    //myScript
                }
                if (GUILayout.Button("模拟运行"))
                {
                    //myScript
                }
                GUI.backgroundColor = Color.red;
                if (GUILayout.Button("删除节点"))
                {
                    //myScript
                }
                EditorGUILayout.EndHorizontal();
                EditorGUILayout.EndVertical();

                EditorGUILayout.BeginVertical();
                EditorGUILayout.BeginHorizontal();
                GUI.backgroundColor = Color.red;
                if (GUILayout.Button("删除当前动画组"))
                {
                    myScript.RemoveGroup();
                }
                GUI.backgroundColor = Color.white;
                EditorGUILayout.EndHorizontal();
                EditorGUILayout.EndVertical();
            }
        }
예제 #3
0
        private void AddGroup(ObjectAnim myScript)
        {
            EditorGUILayout.BeginVertical();

            GUI.backgroundColor = Color.green;
            if (GUILayout.Button("增加一组动画", GUILayout.MinWidth(50)))
            {
                myScript.AddGroup();
            }
            EditorGUILayout.BeginHorizontal();
            GUILayout.Space(10);
            GUI.backgroundColor = new Color(0.2f, 0.9f, 0.9f, 1);
            for (int i = 0; i < myScript.animGroups.Count; i++)
            {
                if (myScript.curSelectGroup == i)
                {
                    GUI.backgroundColor = new Color(0.5f, 0.6f, 0.6f, 1);
                    if (GUILayout.Button(myScript.animGroups[i].groupName))
                    {
                        myScript.curSelectGroup = i;
                        ReName = "";
                    }
                    GUI.backgroundColor = new Color(0.2f, 0.9f, 0.9f, 1);
                }
                else
                {
                    if (GUILayout.Button(myScript.animGroups[i].groupName))
                    {
                        myScript.curSelectGroup = i;
                        ReName = "";
                        Debug.Log("Update");
                        UpdatePanel(myScript);
                        //myScript.UpdatePanel();
                    }
                }
            }
            GUI.backgroundColor = Color.white;
            EditorGUILayout.EndHorizontal();
            EditorGUILayout.EndVertical();
        }
예제 #4
0
        private void SetGroup(ObjectAnim myScript)
        {
            EditorGUILayout.BeginHorizontal();
            if (myScript.animGroups.Count > 0)
            {
                EditorGUILayout.LabelField("动画重命名:");
                ReName = EditorGUILayout.TextField(ReName);
                GUI.backgroundColor = Color.green;
                if (GUILayout.Button("确认"))
                {
                    myScript.animGroups[myScript.curSelectGroup].groupName = ReName;
                }

                GUI.backgroundColor = Color.white;
                EditorGUILayout.EndHorizontal();
                EditorGUILayout.BeginVertical();
                EditorGUILayout.BeginHorizontal();
                GUI.backgroundColor = Color.green;
                if (GUILayout.Button("添加成员", GUILayout.MinWidth(20)))
                {
                    actor.Add(null);
                }
                EditorGUILayout.BeginVertical();
                for (int i = 0; i < actor.Count; i++)
                {
                    EditorGUILayout.BeginHorizontal();
                    actor[i]            = (Transform)EditorGUILayout.ObjectField(actor[i], typeof(Transform), true, GUILayout.MinWidth(50));
                    GUI.backgroundColor = Color.red;
                    if (GUILayout.Button("删除成员"))
                    {
                        actor.RemoveAt(i);
                    }
                    GUI.backgroundColor = Color.green;
                    EditorGUILayout.EndHorizontal();
                }
                GUI.backgroundColor = Color.white;
                EditorGUILayout.EndHorizontal();
                EditorGUILayout.EndVertical();
            }
        }
예제 #5
0
 public void UpdatePanel(ObjectAnim myScript)
 {
     actor = myScript.animGroups[myScript.CurSelectGroup].actor;
 }