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; }
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); }
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); }
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); } }
public void SetPhase(InputPhases p_phase) { Phase = p_phase; }