override protected void CatchButtonsInputs(IInputsReceiver pReceiver) { if (m_pCachedButtonsToCheck == null) { return; } for (int i = 0; i < m_pCachedButtonsToCheck.Count; ++i) { string sButtonName = m_pCachedButtonsToCheck[i]; if (Input.GetButtonDown(sButtonName)) { pReceiver.HandleButtonInput(sButtonName, EInputAction.DOWN); } else if (Input.GetButton(sButtonName)) { pReceiver.HandleButtonInput(sButtonName, EInputAction.HELD); } else if (Input.GetButtonUp(sButtonName)) { pReceiver.HandleButtonInput(sButtonName, EInputAction.UP); } } }
private void OnDestroy() { IInputsReceiver component = base.gameObject.GetComponent<IInputsReceiver>(); if (component != null) { InputsManager.Get().UnregisterReceiver(component); } }
public void UpdateProxy(IInputsReceiver pReceiver) { CacheReceiver(pReceiver); CatchMouseWorldPositionInput(pReceiver); CatchDirectionInputs(pReceiver); CatchExtraAxisInputs(pReceiver); CatchButtonsInputs(pReceiver); }
override protected void CatchDirectionInputs(IInputsReceiver pReceiver) { float fHorizontal = Input.GetAxis("Horizontal"); float fVertical = Input.GetAxis("Vertical"); if (fHorizontal != 0.0f || fVertical != 0.0f) { pReceiver.HandleDirectionInputNotNormalized(new Vector2(fHorizontal, fVertical)); } }
private void CacheReceiver(IInputsReceiver pReceiver) { if (pReceiver == m_iCachedInputsReceiver) { return; } m_iCachedInputsReceiver = pReceiver; m_pCachedButtonsToCheck = pReceiver.GetButtonsToCheck(); m_pCachedAxisToCheck = pReceiver.GetAxisToCheck(); }
private void Start() { foreach (HUDBase hudbase in this.m_HUDList) { IInputsReceiver component = hudbase.gameObject.GetComponent <IInputsReceiver>(); if (component != null) { InputsManager.Get().RegisterReceiver(component); } IObjectivesManagerObserver component2 = hudbase.gameObject.GetComponent <IObjectivesManagerObserver>(); if (component2 != null) { ObjectivesManager.Get().RegisterObserver(component2); } } }
override protected void CatchExtraAxisInputs(IInputsReceiver pReceiver) { if (m_pCachedAxisToCheck == null) { return; } for (int i = 0; i < m_pCachedAxisToCheck.Count; ++i) { AxisInputQuery tAxisQuery = m_pCachedAxisToCheck[i]; string sAxisName = tAxisQuery.m_sAxisName; float fAxisValue = tAxisQuery.m_bQueryRaw ? Input.GetAxisRaw(sAxisName) : Input.GetAxis(sAxisName); if (fAxisValue != 0.0f) { pReceiver.HandleExtraAxisInput(sAxisName, fAxisValue); } } }
public void UnregisterReceiver(IInputsReceiver receiver) { this.m_UnregisterReceiversRequests.Add(receiver); }
abstract protected void CatchButtonsInputs(IInputsReceiver pReceiver);
abstract protected void CatchExtraAxisInputs(IInputsReceiver pReceiver);
abstract protected void CatchDirectionInputs(IInputsReceiver pReceiver);
abstract protected void CatchMouseWorldPositionInput(IInputsReceiver pReceiver);
// If need of inputs modifiers later in development, put them here as plug-ins #endregion #region Variables (private) #endregion override protected void CatchMouseWorldPositionInput(IInputsReceiver pReceiver) { pReceiver.HandleMouseWorldPos(GameManager.Instance.CurrentCamera.ScreenToWorldPoint(Input.mousePosition).SetZ(0.0f)); }