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);
            }
        }
    }
示例#2
0
	private void OnDestroy()
	{
		IInputsReceiver component = base.gameObject.GetComponent<IInputsReceiver>();
		if (component != null)
		{
			InputsManager.Get().UnregisterReceiver(component);
		}
	}
示例#3
0
    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));
        }
    }
示例#5
0
    private void CacheReceiver(IInputsReceiver pReceiver)
    {
        if (pReceiver == m_iCachedInputsReceiver)
        {
            return;
        }

        m_iCachedInputsReceiver = pReceiver;
        m_pCachedButtonsToCheck = pReceiver.GetButtonsToCheck();
        m_pCachedAxisToCheck    = pReceiver.GetAxisToCheck();
    }
示例#6
0
 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);
            }
        }
    }
示例#8
0
 public void UnregisterReceiver(IInputsReceiver receiver)
 {
     this.m_UnregisterReceiversRequests.Add(receiver);
 }
示例#9
0
 abstract protected void CatchButtonsInputs(IInputsReceiver pReceiver);
示例#10
0
 abstract protected void CatchExtraAxisInputs(IInputsReceiver pReceiver);
示例#11
0
 abstract protected void CatchDirectionInputs(IInputsReceiver pReceiver);
示例#12
0
 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));
    }