public void AddInputEventListener(int nPlayerID, int nButtonID , GetInputType eInput, UnityAction hAction, EventOrder eOrder = EventOrder.Normal) { if (!HasPlayerID(nPlayerID)) { return; } var hInputData = m_lstPlayerInput[nPlayerID]; if (hInputData.m_dicButton.TryGetValue(nButtonID, out ButtonData hButtonData)) { hButtonData.m_hInputEvent ??= new EventCallback <GetInputType>(); hButtonData.m_hInputEvent.Add(eInput, hAction, eOrder); } else { var hNewEvent = new EventCallback <GetInputType>(); hNewEvent.Add(eInput, hAction, eOrder); hInputData.m_dicButton.Add(nButtonID, new ButtonData { m_eGetType = GetInputType.None, m_hInputEvent = hNewEvent }); } }
protected override void SetHoldingInputData(InputEventType eEventType, GetInputType eGetType) { if (actorData == null) { return; } var hInputData = m_hActorData.m_hInputData; InputEventType eHoldingInput = hInputData.m_eHoldingInput; if (eGetType == GetInputType.Down) { if (!FlagUtility.HasFlagUnsafe(eHoldingInput, eEventType)) { eHoldingInput |= eEventType; } } else if (eGetType == GetInputType.HoldEnd || eGetType == GetInputType.Up) { if (FlagUtility.HasFlagUnsafe(eHoldingInput, eEventType)) { eHoldingInput &= ~eEventType; } } hInputData.m_eHoldingInput = eHoldingInput; m_hActorData.m_hInputData = hInputData; }
protected override void RunEventInput(InputEventType eEventType, GetInputType eGetType) { if (actorData == null) { return; } m_hActorData.m_hInputData.m_hInputCallback?.Run((eEventType, eGetType), m_hActorData, m_hActorController.listBehaviourData); }
public static void SetButtonInput(int nPlayerID, int nButtonID, GetInputType eInput) { if (!HasBaseInstance()) { return; } m_hBaseInstance.gameInputData.SetButtonInput(nPlayerID, nButtonID, eInput); }
protected override void OnRunEventInput(InputButtonType eButtonType, GetInputType eGetType) { if (!TryGetIActorData(out IActorData_Input hDataInput)) { return; } hDataInput.inputButtonCallback.Run((eButtonType, eGetType), this); }
static void MainAddInputEventListener(int nPlayerID, int nButtonID , GetInputType eInput, UnityAction hAction, EventOrder eOrder = EventOrder.Normal) { if (!HasBaseInstance()) { return; } m_hBaseInstance.gameInputData.AddInputEventListener(nPlayerID, nButtonID, eInput, hAction, eOrder); }
static void MainRemoveInputEventListener(int nPlayerID, int nButtonID , GetInputType eInput, UnityAction hAction, EventOrder eOrder = EventOrder.Normal) { if (m_hBaseInstance == null) { return; } m_hBaseInstance.gameInputData.RemoveInputEventListener(nPlayerID, nButtonID, eInput, hAction); }
/// <summary> /// Convert raw float value from new input to GetInputType. /// </summary> /// <param name="ePreviousGetType">Previous get type.</param> /// <param name="fRawValue">Raw value from new input.</param> /// <returns>Convert GetInputType</returns> public static GetInputType ConvertRawValueToGetType(GetInputType ePreviousGetType, float fRawValue) { var eResult = GetInputType.None; switch (ePreviousGetType) { case GetInputType.None: if (fRawValue > 0) { eResult = GetInputType.Down; } break; case GetInputType.Down: case GetInputType.Hold: if (fRawValue > 0) { eResult = GetInputType.HoldEnd; } else { eResult = GetInputType.Up; } break; case GetInputType.HoldEnd: if (fRawValue > 0) { eResult = GetInputType.Down; } else { eResult = GetInputType.None; } break; case GetInputType.Up: if (fRawValue > 0) { eResult = GetInputType.Down; } else { eResult = GetInputType.None; } break; } return(eResult); }
protected override void SetHoldingInputData(InputButtonType eButtonType, GetInputType eGetType) { var eHoldingInput = m_hInputData.m_eHoldingInput; if (eGetType == GetInputType.Down) { AddHoldFlag(eButtonType); } else if (eGetType == GetInputType.Up) { RemoveHoldFlag(eButtonType); } m_hInputData.m_eHoldingInput = eHoldingInput; }
public void RemoveInputEventListener(int nPlayerID, int nButtonID , GetInputType eInput, UnityAction hAction, EventOrder eOrder = EventOrder.Normal) { if (!HasPlayerID(nPlayerID)) { return; } var hInputData = m_lstPlayerInput[nPlayerID]; if (hInputData.m_dicButton.TryGetValue(nButtonID, out ButtonData hButtonData) && hButtonData.m_hInputEvent != null) { hButtonData.m_hInputEvent.Remove(eInput, hAction, eOrder); } }
public void PressButton(InputAction.CallbackContext hContext) { m_ePreviousInput = InputUtility.ConvertRawValueToGetType(m_ePreviousInput, hContext.ReadValueAsButton()); ProcessRunEvent(); }
protected abstract void RunEventInput(InputEventType eEventType, GetInputType eGetType);
protected abstract void SetHoldingInputData(InputEventType eEventType, GetInputType eGetType);
public static void RemoveInputEventListener(int nPlayerID, int nButtonID , GetInputType eInput, UnityAction hAction, EventOrder eOrder) { MainRemoveInputEventListener(nPlayerID, nButtonID, eInput, hAction, eOrder); }
/// <summary> /// Remove input event listener from player id 0. /// </summary> /// <param name="nButtonID"></param> /// <param name="eInput"></param> /// <param name="hAction"></param> public static void RemoveInputEventListener(int nButtonID , GetInputType eInput, UnityAction hAction) { MainRemoveInputEventListener(0, nButtonID, eInput, hAction); }
protected abstract void OnRunEventInput(InputButtonType eButtonType, GetInputType eGetType);
public static void AddInputEventListener(int nPlayerID, int nButtonID , GetInputType eInput, UnityAction hAction) { MainAddInputEventListener(nPlayerID, nButtonID, eInput, hAction); }
/// <summary> /// Add input event listener for player id 0. /// </summary> /// <param name="nButtonID"></param> /// <param name="eInput"></param> /// <param name="hAction"></param> /// <param name="eOrder"></param> public static void AddInputEventListener(int nButtonID , GetInputType eInput, UnityAction hAction, EventOrder eOrder) { MainAddInputEventListener(0, nButtonID, eInput, hAction, eOrder); }
protected abstract void SetHoldingInputData(InputButtonType eButtonType, GetInputType eGetType);
protected override void RunEventInput(InputButtonType eEventType, GetInputType eGetType) { m_hOnRunEventInput?.Invoke(eEventType, eGetType); }