protected override void OnGUI(Rect rect) { FrameConfig configs = win.currentFrame; if (null == configs) { return; } bool lastStay = configs.stayBodyRange; GUILayout.BeginVertical(AEStyles.box); bool nextStay = EditorGUILayoutEx.DrawObject("保持上一帧", lastStay); GUILayout.EndVertical(); if (nextStay) { if (!lastStay) { configs.bodyRanges.Clear(); win.bodyRangeSelectIndex = -1; } } else { if (lastStay) {//从保持到非保持,则拷贝保持的范围到当前 win.CopyBodyRangeToCurrentFrameIfStay(); } win.bodyRangeSelectIndex = EditorGUILayoutEx.DrawList(configs.bodyRanges, win.bodyRangeSelectIndex, ref scrollPos, NewRange, ActionEditorUtility.RangeConfigDrawer); } configs.stayBodyRange = nextStay;//处理完之后再设置,否者CopyBodyRangeToCurrentFrameIfStay不会执行 }
public void OnGUI(Rect rect) { GUILayout.BeginVertical(AEStyles.box); win.config.firstStateName = EditorGUILayoutEx.DrawObject("起始状态名", win.config.firstStateName); GUILayout.EndVertical(); GUILayout.Space(4); win.stateSelectIndex = EditorGUILayoutEx.DrawList(win.config.states, win.stateSelectIndex, ref scrollPos, NewState, ActionEditorUtility.StateDrawer); }
public void OnGUI(Rect rect) { List <RangeConfig> configs = win.currentAttackRanges; if (null == configs) { return; } EditorGUI.BeginChangeCheck(); win.attackRangeSelectIndex = EditorGUILayoutEx.DrawList(configs, win.attackRangeSelectIndex, ref scrollPos, NewRange, ActionEditorUtility.RangeConfigDrawer); if (EditorGUI.EndChangeCheck()) { //win.configModification = true; } }
public void OnGUI(Rect rect) { List <object> configs = win.currentActions; if (null == configs) { return; } EditorGUI.BeginChangeCheck(); win.actionSelectIndex = EditorGUILayoutEx.DrawList(configs, win.actionSelectIndex, ref scrollPos, NewAction, ActionEditorUtility.ItemDrawer); if (EditorGUI.EndChangeCheck()) { //win.configModification = true; } }