public static void OpenCreateEditor(OnCreateEvent callBack) { AIEventEditWnd wnd = EditorWindow.GetWindow <AIEventEditWnd>(); wnd.OpenAsCreateMode(); wnd.onCreate = callBack; }
public static void OpenAsEditMode(AIClipEvent clipEvent) { AIEventEditWnd wnd = EditorWindow.GetWindow <AIEventEditWnd>(); wnd.OpenAsCreateMode(); wnd.mCurEvet = clipEvent; }
/// <summary> /// 绘制片断时间列表 /// </summary> /// <param name="clip"></param> public static void DrawAiEvetList(AIClip clip) { GUILayout.BeginHorizontal(); GUILayout.Label("事件列表", GUILayout.Width(60)); #region copy and paste icons if (GUILayout.Button(AIFGUISKin.IconCopy, GUILayout.Width(30), GUILayout.Height(30))) { if (AIDataSelection.aiEvent != null) { CustomClipBoard.CopyData(AIDataSelection.aiEvent); } } if (GUILayout.Button(AIFGUISKin.IconPaste, GUILayout.Width(30), GUILayout.Height(30))) { object clipBoardObj; CustomClipBoard.GetCopyObject(out clipBoardObj); if (clipBoardObj == null) { Debug.LogError("剪切板没有内容可以粘贴"); } else { clipBoardObj = Utility.XmlDeepCloneObject(clipBoardObj); if (clipBoardObj is AIClipEvent) { clip.AiClipEvents.Add(clipBoardObj as AIClipEvent); } } } #endregion if (GUILayout.Button(AIFGUISKin.IconNewItem, GUILayout.Width(30), GUILayout.Height(30))) { AIEventEditWnd.OpenCreateEditor(delegate(AIClipEvent e) { clip.AiClipEvents.Add(e); }); } GUILayout.EndHorizontal(); if (clip.AiClipEvents.Count == 0) { GUILayout.Label("事件列表为空"); } else { for (int i = 0; i < clip.AiClipEvents.Count; i++) { AIClipEvent evet = clip.AiClipEvents[i]; GUILayout.BeginHorizontal(); Color col = AIDataSelection.aiEvent == evet ? Color.green : GUI.color; if (AIFUIUtility.LayoutButtonWithColor(evet.eventName, col, 150)) { AIDataSelection.SelectedAIEvent(evet); AIEventEditWnd.OpenAsEditMode(evet); } if (GUILayout.Button("X", GUILayout.Width(30))) { if (EditorUtility.DisplayDialog("警告", "确定删除事件吗", "确定", "取消")) { clip.AiClipEvents.Remove(evet); return; } } GUILayout.EndHorizontal(); } } }