/// <summary> /// Change the selection in the menu. /// </summary> public static void changeSelection() { switch (Event.current.keyCode) { case KeyCode.DownArrow: gotoVariablesDown(); break; case KeyCode.UpArrow: gotoVariablesUp(); break; } // refresh the editor heroEditor.Repaint(); }
// -------------------------------------------------------------- // Methods (On Click) // -------------------------------------------------------------- /// <summary> /// Change the selection in the menu. /// </summary> public static void changeSelection() { //// property menu //if (propertyFocus) //{ // switch (Event.current.keyCode) // { // case KeyCode.DownArrow: // gotoStatesFromProperties(); // break; // } //} // property menu if (propertyFocus) { switch (Event.current.keyCode) { case KeyCode.DownArrow: if (heroObject.propertiesList.visible) { gotoPropertiesDown(); } else { gotoStatesFromProperties(); } break; case KeyCode.UpArrow: if (propertyID > -1) { gotoPropertiesUp(); } else { gotoPropertiesTitle(); } break; case KeyCode.Return: heroObject.propertiesList.visible = !heroObject.propertiesList.visible; break; } } // state menu (states) else if (stateFocus && typeID == 1) { switch (Event.current.keyCode) { case KeyCode.DownArrow: // states are expanded if (heroObject.states.visible) { // move from States to first state if (stateID == -1) { gotoStateDown(); } // if selected state is expanded, go to first event in state else if (heroObject.states.states[stateID].visible) { gotoEventsFromStateDown(); } // go to the next state or to variables else { gotoStateDown(); } } // states are collapsed else { gotoVariablesFromStates(); } break; case KeyCode.UpArrow: // go to properties if (stateID == -1) { gotoPropertiesFromStates(); } // go to states if (stateID == 0) { gotoStateUp(); } // go to previous state else if (stateID > 0 && !heroObject.states.states[stateID - 1].visible) { gotoStateUp(); } // go to last event in previous state else if (stateID > 0 && heroObject.states.states[stateID - 1].visible) { gotoEventsFromStateUp(); } break; case KeyCode.Return: if (stateID == -1) { heroObject.states.visible = !heroObject.states.visible; } else { heroObject.states.states[stateID].visible = !heroObject.states.states[stateID].visible; } break; } } // state menu (events) else if (stateFocus && typeID == 2) { switch (Event.current.keyCode) { case KeyCode.DownArrow: // events are expanded if (heroObject.states.states[stateID].visible) { // move from state to first event if (eventID == -1) { gotoEventDown(); } // if selected event is expanded, go to first action in event else if (heroObject.states.states[stateID].heroEvent[eventID].visible && heroObject.states.states[stateID].heroEvent[eventID].actions.Count > 0) { gotoActionsFromEventDown(); } // go to the next event or to next state else { gotoEventDown(); } } // events are collapsed else { gotoStateFromEventDown(); } break; case KeyCode.UpArrow: if (eventID > 0) { gotoEventUp(); } else { gotoStateFromEventUp(); } break; case KeyCode.Return: heroObject.states.states[stateID].heroEvent[eventID].visible = !heroObject.states.states[stateID].heroEvent[eventID].visible; break; } } // state menu (actions) else if (stateFocus && typeID == 3) { switch (Event.current.keyCode) { case KeyCode.DownArrow: // actions are expanded if (heroObject.states.states[stateID].heroEvent[eventID].visible) { gotoActionDown(); } // actions are collapsed else { gotoEventFromActionDown(); } break; case KeyCode.UpArrow: if (actionID > 0) { gotoActionUp(); } else { gotoEventFromActionUp(); } break; case KeyCode.Return: heroObject.states.states[stateID].heroEvent[eventID].actions[actionID].visible = !heroObject.states.states[stateID].heroEvent[eventID].actions[actionID].visible; break; } } // variable menu else if (variableFocus) { switch (Event.current.keyCode) { case KeyCode.DownArrow: if (heroObject.lists.visible) { gotoVariablesDown(); } else { gotoGlobalsFromVariables(); } break; case KeyCode.UpArrow: if (variableID > -1) { gotoVariablesUp(); } else { gotoStatesFromVariables(); } break; case KeyCode.Return: heroObject.lists.visible = !heroObject.lists.visible; break; } } // globals menu else if (globalFocus) { switch (Event.current.keyCode) { case KeyCode.DownArrow: if (heroObject.globalsVisible) { gotoGlobalsDown(); } break; case KeyCode.UpArrow: if (globalID > -1) { gotoGlobalsUp(); } else { gotoVariablesFromGlobals(); } break; case KeyCode.Return: heroObject.globalsVisible = !heroObject.globalsVisible; break; } } // refresh the editor heroEditor.Repaint(); }