void AddAction(DebugAction action, DebugActionDesc desc) { int index = (int)action; m_DebugActions[index] = desc; m_DebugActionStates[index] = new DebugActionState(); }
void RegisterActions() { m_DebugActions = new DebugActionDesc[(int)DebugAction.DebugActionCount]; m_DebugActionStates = new DebugActionState[(int)DebugAction.DebugActionCount]; var enableDebugMenu = new DebugActionDesc(); enableDebugMenu.buttonTriggerList.Add(new[] { kEnableDebugBtn1, kEnableDebugBtn2 }); enableDebugMenu.keyTriggerList.Add(new[] { KeyCode.LeftControl, KeyCode.Backspace }); enableDebugMenu.repeatMode = DebugActionRepeatMode.Never; AddAction(DebugAction.EnableDebugMenu, enableDebugMenu); var resetDebugMenu = new DebugActionDesc(); resetDebugMenu.buttonTriggerList.Add(new[] { kResetBtn, kEnableDebugBtn2 }); resetDebugMenu.keyTriggerList.Add(new[] { KeyCode.LeftAlt, KeyCode.Backspace }); resetDebugMenu.repeatMode = DebugActionRepeatMode.Never; AddAction(DebugAction.ResetAll, resetDebugMenu); var nextDebugPanel = new DebugActionDesc(); nextDebugPanel.buttonTriggerList.Add(new[] { kDebugNextBtn }); nextDebugPanel.repeatMode = DebugActionRepeatMode.Never; AddAction(DebugAction.NextDebugPanel, nextDebugPanel); var previousDebugPanel = new DebugActionDesc(); previousDebugPanel.buttonTriggerList.Add(new[] { kDebugPreviousBtn }); previousDebugPanel.repeatMode = DebugActionRepeatMode.Never; AddAction(DebugAction.PreviousDebugPanel, previousDebugPanel); var validate = new DebugActionDesc(); validate.buttonTriggerList.Add(new[] { kValidateBtn }); validate.repeatMode = DebugActionRepeatMode.Never; AddAction(DebugAction.Action, validate); var persistent = new DebugActionDesc(); persistent.buttonTriggerList.Add(new[] { kPersistentBtn }); persistent.repeatMode = DebugActionRepeatMode.Never; AddAction(DebugAction.MakePersistent, persistent); var multiplier = new DebugActionDesc(); multiplier.buttonTriggerList.Add(new[] { kMultiplierBtn }); multiplier.repeatMode = DebugActionRepeatMode.Delay; validate.repeatDelay = 0f; AddAction(DebugAction.Multiplier, multiplier); AddAction(DebugAction.MoveVertical, new DebugActionDesc { axisTrigger = kDPadVertical, repeatMode = DebugActionRepeatMode.Delay, repeatDelay = 0.16f }); AddAction(DebugAction.MoveHorizontal, new DebugActionDesc { axisTrigger = kDPadHorizontal, repeatMode = DebugActionRepeatMode.Delay, repeatDelay = 0.16f }); }
public void Update(DebugActionDesc desc) { // Always reset this so that the action can only be caught once until repeat/reset actionState = 0f; if (m_TriggerPressedUp != null) { m_Timer += Time.deltaTime; for (int i = 0; i < m_TriggerPressedUp.Length; ++i) { #if USE_INPUT_SYSTEM if (inputAction != null) { m_TriggerPressedUp[i] |= Mathf.Approximately(inputAction.ReadValue <float>(), 0f); } #else if (m_Type == DebugActionKeyType.Button) { m_TriggerPressedUp[i] |= Input.GetButtonUp(m_PressedButtons[i]); } else if (m_Type == DebugActionKeyType.Axis) { m_TriggerPressedUp[i] |= Mathf.Approximately(Input.GetAxis(m_PressedAxis), 0f); } else { m_TriggerPressedUp[i] |= Input.GetKeyUp(m_PressedKeys[i]); } #endif } bool allTriggerUp = true; foreach (bool value in m_TriggerPressedUp) { allTriggerUp &= value; } if (allTriggerUp || (m_Timer > desc.repeatDelay && desc.repeatMode == DebugActionRepeatMode.Delay)) { Reset(); } } }
void RegisterActions() { m_DebugActions = new DebugActionDesc[(int)DebugAction.DebugActionCount]; m_DebugActionStates = new DebugActionState[(int)DebugAction.DebugActionCount]; var enableDebugMenu = new DebugActionDesc(); #if USE_INPUT_SYSTEM enableDebugMenu.buttonAction = debugActionMap.FindAction(kEnableDebug); #else enableDebugMenu.buttonTriggerList.Add(new[] { kEnableDebugBtn1, kEnableDebugBtn2 }); enableDebugMenu.keyTriggerList.Add(new[] { KeyCode.LeftControl, KeyCode.Backspace }); #endif enableDebugMenu.repeatMode = DebugActionRepeatMode.Never; AddAction(DebugAction.EnableDebugMenu, enableDebugMenu); var resetDebugMenu = new DebugActionDesc(); #if USE_INPUT_SYSTEM resetDebugMenu.buttonAction = debugActionMap.FindAction(kResetBtn); #else resetDebugMenu.keyTriggerList.Add(new[] { KeyCode.LeftAlt, KeyCode.Backspace }); resetDebugMenu.buttonTriggerList.Add(new[] { kResetBtn, kEnableDebugBtn2 }); #endif resetDebugMenu.repeatMode = DebugActionRepeatMode.Never; AddAction(DebugAction.ResetAll, resetDebugMenu); var nextDebugPanel = new DebugActionDesc(); #if USE_INPUT_SYSTEM nextDebugPanel.buttonAction = debugActionMap.FindAction(kDebugNextBtn); #else nextDebugPanel.buttonTriggerList.Add(new[] { kDebugNextBtn }); #endif nextDebugPanel.repeatMode = DebugActionRepeatMode.Never; AddAction(DebugAction.NextDebugPanel, nextDebugPanel); var previousDebugPanel = new DebugActionDesc(); #if USE_INPUT_SYSTEM previousDebugPanel.buttonAction = debugActionMap.FindAction(kDebugPreviousBtn); #else previousDebugPanel.buttonTriggerList.Add(new[] { kDebugPreviousBtn }); #endif previousDebugPanel.repeatMode = DebugActionRepeatMode.Never; AddAction(DebugAction.PreviousDebugPanel, previousDebugPanel); var validate = new DebugActionDesc(); #if USE_INPUT_SYSTEM validate.buttonAction = debugActionMap.FindAction(kValidateBtn); #else validate.buttonTriggerList.Add(new[] { kValidateBtn }); #endif validate.repeatMode = DebugActionRepeatMode.Never; AddAction(DebugAction.Action, validate); var persistent = new DebugActionDesc(); #if USE_INPUT_SYSTEM persistent.buttonAction = debugActionMap.FindAction(kPersistentBtn); #else persistent.buttonTriggerList.Add(new[] { kPersistentBtn }); #endif persistent.repeatMode = DebugActionRepeatMode.Never; AddAction(DebugAction.MakePersistent, persistent); var multiplier = new DebugActionDesc(); #if USE_INPUT_SYSTEM multiplier.buttonAction = debugActionMap.FindAction(kMultiplierBtn); #else multiplier.buttonTriggerList.Add(new[] { kMultiplierBtn }); #endif multiplier.repeatMode = DebugActionRepeatMode.Delay; validate.repeatDelay = 0f; AddAction(DebugAction.Multiplier, multiplier); var moveVertical = new DebugActionDesc(); #if USE_INPUT_SYSTEM moveVertical.buttonAction = debugActionMap.FindAction(kDPadVertical); #else moveVertical.axisTrigger = kDPadVertical; #endif moveVertical.repeatMode = DebugActionRepeatMode.Delay; moveVertical.repeatDelay = 0.16f; AddAction(DebugAction.MoveVertical, moveVertical); var moveHorizontal = new DebugActionDesc(); #if USE_INPUT_SYSTEM moveHorizontal.buttonAction = debugActionMap.FindAction(kDPadHorizontal); #else moveHorizontal.axisTrigger = kDPadHorizontal; #endif moveHorizontal.repeatMode = DebugActionRepeatMode.Delay; moveHorizontal.repeatDelay = 0.16f; AddAction(DebugAction.MoveHorizontal, moveHorizontal); #if USE_INPUT_SYSTEM foreach (var action in debugActionMap) { action.Enable(); } #endif }