private void LoadAxis(Key key, bool analog) { InputActionData inputActionData = new InputActionData(); ControllerType controllerType = (ControllerType)Enum.Parse(typeof(ControllerType), key.GetVariable(2).SValue); inputActionData.m_Action = (InputsManager.InputAction)Enum.Parse(typeof(InputsManager.InputAction), key.GetVariable(0).SValue); inputActionData.m_AxisName = key.GetVariable(1).SValue; inputActionData.m_Inverted = key.GetVariable(3).BValue; inputActionData.m_Analog = analog; inputActionData.m_ControllerType = controllerType; if (inputActionData.m_ControllerType == ControllerType.Pad) { inputActionData.m_PadIcon = InputHelpers.GetPadIcon(inputActionData); } if (!analog) { inputActionData.m_Histeresis.x = ((key.GetVariable(4) != null) ? Mathf.Min(0.99f, key.GetVariable(4).FValue) : 0.5f); inputActionData.m_Histeresis.y = ((key.GetVariable(5) != null) ? Mathf.Min(0.99f, key.GetVariable(5).FValue) : 0.5f); inputActionData.m_Type = ((key.GetVariable(6) != null) ? ((InputsManager.InputActionType)Enum.Parse(typeof(InputsManager.InputActionType), key.GetVariable(6).SValue)) : InputsManager.InputActionType.Down); inputActionData.m_Hold = ((key.GetVariable(7) != null) ? key.GetVariable(7).FValue : 0f); } InputActionData[] array; if (!this.m_ActionsByInputAction.TryGetValue((int)inputActionData.m_Action, out array)) { array = new InputActionData[2]; this.m_ActionsByInputAction.Add((int)inputActionData.m_Action, array); } array[(int)controllerType] = inputActionData; List <InputActionData> list; if (!this.m_ActionsByAxis.TryGetValue(inputActionData.m_AxisName, out list)) { list = new List <InputActionData>(); this.m_ActionsByAxis.Add(inputActionData.m_AxisName, list); } list.Add(inputActionData); }
private void LoadAction(Key key, bool trigger, bool show_asserts = true) { InputActionData inputActionData = new InputActionData(); if (trigger) { inputActionData.m_TriggerAction = (TriggerAction.TYPE)Enum.Parse(typeof(TriggerAction.TYPE), key.GetVariable(0).SValue); } else { inputActionData.m_Action = (InputsManager.InputAction)Enum.Parse(typeof(InputsManager.InputAction), key.GetVariable(0).SValue); } string svalue = key.GetVariable(1).SValue; inputActionData.m_Type = (InputsManager.InputActionType)Enum.Parse(typeof(InputsManager.InputActionType), key.GetVariable(2).SValue); inputActionData.m_Hold = key.GetVariable(3).FValue; InputHelpers.PadButton pad_button; KeyCode keyCode; if (Enum.TryParse <InputHelpers.PadButton>(svalue, out pad_button)) { keyCode = pad_button.KeyFromPad(); inputActionData.m_Ps4KeyCode = pad_button.KeyFromPad(InputsManager.PadControllerType.Ps4); if (this.m_Ps4ActionsByKeyCode.ContainsKey((int)inputActionData.m_Ps4KeyCode)) { this.m_Ps4ActionsByKeyCode[(int)inputActionData.m_Ps4KeyCode].Add(inputActionData); } else { List <InputActionData> list = new List <InputActionData>(); list.Add(inputActionData); this.m_Ps4ActionsByKeyCode.Add((int)inputActionData.m_Ps4KeyCode, list); } } else { keyCode = (KeyCode)Enum.Parse(typeof(KeyCode), svalue); } inputActionData.m_KeyCode = keyCode; inputActionData.m_ControllerType = keyCode.GetControllerType(); if (inputActionData.m_ControllerType == ControllerType.Pad) { inputActionData.m_PadIcon = InputHelpers.GetPadIcon(inputActionData); } if (this.m_ActionsByKeyCode.ContainsKey((int)keyCode)) { this.m_ActionsByKeyCode[(int)keyCode].Add(inputActionData); } else { List <InputActionData> list2 = new List <InputActionData>(); list2.Add(inputActionData); this.m_ActionsByKeyCode.Add((int)keyCode, list2); } int actionId = inputActionData.m_Action.GetActionId(inputActionData.m_TriggerAction); InputActionData[] array; if (!this.m_ActionsByInputAction.TryGetValue(actionId, out array)) { array = new InputActionData[2]; this.m_ActionsByInputAction.Add(actionId, array); } array[(int)keyCode.GetControllerType()] = inputActionData; }