public override void OnInspectorGUI() { ObjectAnim myScript = (ObjectAnim)target; AddGroup(myScript); SetGroup(myScript); AnimInfoOperation(myScript); if (GUI.changed) { EditorUtility.SetDirty(target); } }
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(); } }
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(); }
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(); } }
public void UpdatePanel(ObjectAnim myScript) { actor = myScript.animGroups[myScript.CurSelectGroup].actor; }