public static void DrawCommanAnimation(AICommonAnimation comAnim, AIClipGroup clipGroup) { GUILayout.Label("AI通用片断"); comAnim.die = AIFUIUtility.DrawAiLinkPopup(clipGroup, comAnim.die, " 默认连接", 150); comAnim.hit = AIFUIUtility.DrawAiLinkPopup(clipGroup, comAnim.hit, " 受击", 150); comAnim.idle = AIFUIUtility.DrawAiLinkPopup(clipGroup, comAnim.idle, " 默认待机", 150); comAnim.run = AIFUIUtility.DrawAiLinkPopup(clipGroup, comAnim.run, " 跑步", 150); comAnim.walk = AIFUIUtility.DrawAiLinkPopup(clipGroup, comAnim.walk, " 走路", 150); }
public static void DrawAIClip(AIClip clip, AIClipGroup paretGroup) { clip.clipKey = EditorGUILayout.TextField("动画片断键值", clip.clipKey, GUILayout.Width(300)); clip.name = EditorGUILayout.TextField("片断名称", clip.name, GUILayout.Width(300)); clip.animationName = EditorGUILayout.TextField("动画名称", clip.animationName, GUILayout.Width(300)); if (paretGroup != null) { clip.defaultLinkClip = AIFUIUtility.DrawAiLinkPopup(paretGroup, clip.defaultLinkClip, " 默认连接", 150, 150); } clip.animationTime = EditorGUILayout.FloatField("动画时长", clip.animationTime, GUILayout.Width(300)); clip.attackRange = EditorGUILayout.FloatField("攻击范围", clip.attackRange, GUILayout.Width(300)); clip.CheckDirectionInput = GUILayout.Toggle(clip.CheckDirectionInput, "方向输入(检测到方向输入切换到跑步片断)", GUILayout.Width(250)); clip.runToTarget = GUILayout.Toggle(clip.runToTarget, "跑向目标(找到目标的情况向目标移动)", GUILayout.Width(200)); clip.applyRootMotion = GUILayout.Toggle(clip.applyRootMotion, "使用动画运动", GUILayout.Width(90)); }
void OnGUI() { if (aiLink != null) { aiLink.linkToClip = AIFUIUtility.DrawAiLinkPopup(srcGroup, aiLink.linkToClip, "目标片断", 150); aiLink.checkAllCondition = GUILayout.Toggle(aiLink.checkAllCondition, "检查所有条件"); aiLink.crossFadeTime = EditorGUILayout.FloatField("动画过度时间", aiLink.crossFadeTime); GUILayout.BeginHorizontal(); GUILayout.Label("连接条件:", GUILayout.Width(150)); if (GUILayout.Button("添加条件", GUILayout.Width(100))) { AILinkCondictionSelectWnd.SelectNewCondition(delegate(AILinkCondiction con) { aiLink.linkConditionList.Add(con); }); } GUILayout.EndHorizontal(); for (int i = 0; i < aiLink.linkConditionList.Count; i++) { AILinkCondiction con = aiLink.linkConditionList[i]; EditorGUILayout.Separator(); GUILayout.BeginHorizontal(); if (GUILayout.Button("X", GUILayout.Width(30))) { if (EditorUtility.DisplayDialog("提示", "删除条件?", "OK")) { aiLink.linkConditionList.Remove(con); } } GUILayout.Label(con.ToString()); GUILayout.EndHorizontal(); GUILayout.BeginVertical(); con.OnEditorUI(); GUILayout.EndVertical(); } } //GUILayout.Button("确定"); }