public void OnGUI(FB.FFSM.BlockFunc func) { EditorGUILayout.HelpBox("这个功能是检测输入并跳出Block", MessageType.Info); func.haveexit = true; { var text = EditorGUILayout.TextField("输入指令", func.strParam0.ToUpper()); if (text != func.strParam0) { func.strParam0 = text; EditorUtility.SetDirty(Window_StateTable.stateTable); } } func.vecParam0.x = EditorGUILayout.FloatField("指令时间:", func.vecParam0.x); bool isHitOn = (func.intParam1 == 1) ? true : false; isHitOn = EditorGUILayout.Toggle("是否击中:", isHitOn); func.intParam1 = (isHitOn) ? 1 : 0; GUILayout.BeginHorizontal(); { List <string> tempstr = new List <string>(); for (int i = 0; i < Window_StateTable.selectBlock.exits.Count; i++) { tempstr.Add(i.ToString()); } string butt_str = "选择"; if (GUILayout.Button(butt_str, GUILayout.Width(80))) { //如果此block没有配置exit就会添加一个next的选项最终会指向下一个block Window_PickExit.ShowExitFunc((exit) => { exitfunc = exit; }); } if (exitfunc != null) { if (exitfunc != null) { func.strParam1 = exitfunc.statename; func.intParam0 = exitfunc.blockindex; } } EditorUtility.SetDirty(Window_StateTable.stateTable); } GUILayout.EndHorizontal(); GUILayout.BeginVertical(); GUILayout.Label("跳出到状态: " + func.strParam1); GUILayout.Label("blockIndex: " + func.intParam0.ToString()); GUILayout.EndVertical(); }
public void OnGUI(FB.FFSM.BlockFunc func) { EditorGUILayout.HelpBox("这个功能是检测输入并跳出Block", MessageType.Info); func.haveexit = true; func.haveexit = true; { FB.FFSM.BlockParser_WhenExit.WhenExit exit = (FB.FFSM.BlockParser_WhenExit.WhenExit)func.intParam1; var exit2 = (FB.FFSM.BlockParser_WhenExit.WhenExit)EditorGUILayout.EnumPopup("条件", exit); if (exit2 != exit) { func.intParam1 = (int)exit2; EditorUtility.SetDirty(Window_StateTable.stateTable); } } GUILayout.BeginHorizontal(); { List <string> tempstr = new List <string>(); for (int i = 0; i < Window_StateTable.selectBlock.exits.Count; i++) { tempstr.Add(i.ToString()); } string butt_str = "选择"; if (GUILayout.Button(butt_str, GUILayout.Width(80))) { //如果此block没有配置exit就会添加一个next的选项最终会指向下一个block Window_PickExit.ShowExitFunc((exit) => { exitfunc = exit; }); } if (exitfunc != null) { func.strParam1 = exitfunc.statename; func.intParam0 = exitfunc.blockindex; exitfunc = null; } EditorUtility.SetDirty(Window_StateTable.stateTable); } GUILayout.EndHorizontal(); GUILayout.BeginVertical(); GUILayout.Label("跳出到状态: " + func.strParam1); GUILayout.Label("blockIndex: " + func.intParam0.ToString()); GUILayout.EndVertical(); }
public void OnGUI(FB.FFSM.BlockFunc func) { EditorGUILayout.HelpBox("这个功能是攻击判定", MessageType.Info); func.haveexit = string.IsNullOrEmpty(func.strParam1); GUILayout.BeginVertical(); bool ishit = (func.intParam3 == 1) ? true : false; ishit = EditorGUILayout.Toggle("是否击中", ishit); func.intParam3 = (ishit) ? 1 : 0; func.strParam0 = EditorGUILayout.TextField("属性:", func.strParam0); FB.FFSM.BlockParser_PropExit.PropOp exit = (FB.FFSM.BlockParser_PropExit.PropOp)func.intParam2; exit = (FB.FFSM.BlockParser_PropExit.PropOp)EditorGUILayout.EnumPopup(exit); if ((int)exit != func.intParam2) { func.intParam2 = (int)exit; } func.intParam1 = EditorGUILayout.IntField("数值:", func.intParam1); GUILayout.BeginHorizontal(); { List <string> tempstr = new List <string>(); for (int i = 0; i < Window_StateTable.selectBlock.exits.Count; i++) { tempstr.Add(i.ToString()); } string butt_str = "选择"; if (GUILayout.Button(butt_str, GUILayout.Width(80))) { //如果此block没有配置exit就会添加一个next的选项最终会指向下一个block Window_PickExit.ShowExitFunc((_exit) => { exitfunc = _exit; }); } if (exitfunc != null) { func.strParam1 = exitfunc.statename; func.intParam0 = exitfunc.blockindex; } } //int id = EditorGUILayout.IntField(_selectBlock.exits[ie].blockindex, GUILayout.Width(120)); GUILayout.EndHorizontal(); GUILayout.Label("跳出到状态: " + func.strParam1); GUILayout.Label("blockIndex: " + func.intParam0.ToString()); GUILayout.EndVertical(); }