Пример #1
0
 public InputInfo(KeyCode p_keyCode, InputPhases p_phase, Vector2 p_screenPoint, RayInfo p_rayInfo)
 {
     KeyCode     = p_keyCode;
     Phase       = p_phase;
     ScreenPoint = p_screenPoint;
     RayInfo     = p_rayInfo;
 }
Пример #2
0
        private InputInfo CreateInputInfo(KeyCode p_keyCode, InputPhases p_phase, bool p_useRaycast)
        {
            Vector2 __mousePosition = Input.mousePosition;

            InputInfo __inputInfo = new InputInfo(
                p_keyCode,
                p_phase,
                __mousePosition,
                (InputRayManager != null && p_useRaycast) ? InputRayManager.CreateRayInfo(viewCamera, __mousePosition) : null);

            return(__inputInfo);
        }
Пример #3
0
        private InputInfo UpdateInputInfo(int p_inputID, InputPhases p_phase, bool p_useRaycast)
        {
            InputInfo __inputInfo = null;

            if (_dictInputs.TryGetValue(p_inputID, out __inputInfo))
            {
                Vector2 __mousePosition = Input.mousePosition;

                _dictInputs[p_inputID].SetPhase(p_phase);
                _dictInputs[p_inputID].SetScreenPoint(__mousePosition);
                _dictInputs[p_inputID].SetRayInfo((InputRayManager != null && p_useRaycast) ? InputRayManager.CreateRayInfo(viewCamera, __mousePosition) : null);
            }

            return(__inputInfo);
        }
Пример #4
0
 private void HandleKey(int p_inputID, InputPhases p_phase, bool p_useRaycast)
 {
     if (p_phase == InputPhases.FINISH)
     {
         if (_dictInputs.ContainsKey(p_inputID))
         {
             InputInfo __inputInfo = UpdateInputInfo(p_inputID, p_phase, p_useRaycast);
             _dictInputs.Remove(p_inputID);
             onInput?.Invoke(__inputInfo);
         }
     }
     else if (p_phase == InputPhases.UPDATE)
     {
         onInput?.Invoke(UpdateInputInfo(p_inputID, p_phase, p_useRaycast));
     }
     else if (p_phase == InputPhases.START)
     {
         InputInfo __inputInfo = CreateInputInfo((KeyCode)p_inputID, p_phase, p_useRaycast);
         _dictInputs.Add(p_inputID, __inputInfo);
         onInput?.Invoke(__inputInfo);
     }
 }
Пример #5
0
 public void SetPhase(InputPhases p_phase)
 {
     Phase = p_phase;
 }