bool GetInputState() { KEY_CLICK_STATE KeyAState = GetKeyClickState(KeyCode.A); KEY_CLICK_STATE KeySState = GetKeyClickState(KeyCode.S); KEY_CLICK_STATE KeyDState = GetKeyClickState(KeyCode.D); KEY_CLICK_STATE KeyWState = GetKeyClickState(KeyCode.W); bool bAttackeyActive = (KeyAState != KEY_CLICK_STATE.KEY_IDLE) || (KeySState != KEY_CLICK_STATE.KEY_IDLE) || (KeyDState != KEY_CLICK_STATE.KEY_IDLE) || (KeyWState != KEY_CLICK_STATE.KEY_IDLE); if (bAttackeyActive) { CommondKeyRecord KeyRecord = new CommondKeyRecord(); KeyRecord.timeStamp = Time.time; KeyRecord.SetKeyState(KeyCode.A, KeyAState); KeyRecord.SetKeyState(KeyCode.S, KeySState); KeyRecord.SetKeyState(KeyCode.D, KeyDState); KeyRecord.SetKeyState(KeyCode.W, KeyWState); while (m_KeyRecordList.Count > m_MaxRecordSize) { m_KeyRecordList.RemoveAt(0); } m_KeyRecordList.Add(KeyRecord); CalcClickKeys(m_KeyCheckDuration); return(true); } return(false); }
private bool CalcMoveCommond() { if (m_KeyRecordList.Count > 0) { Vector3 moveSpeed = Vector3.zero; CommondKeyRecord KeyRecord = m_KeyRecordList[m_KeyRecordList.Count - 1]; if (KeyRecord.IsKeyDownOrHold(KeyCode.W)) { moveSpeed += transform.forward * m_MoveForwardSpeed; } if (KeyRecord.IsKeyDownOrHold(KeyCode.S)) { moveSpeed -= transform.forward * m_MoveBackSpeed; } if (KeyRecord.IsKeyDownOrHold(KeyCode.A)) { moveSpeed -= transform.right * m_MoveLeftSpeed; } if (KeyRecord.IsKeyDownOrHold(KeyCode.D)) { moveSpeed += transform.right * m_MoveBackSpeed; } m_ActionState = ACTION_STATE.MOVE_NORMAL; m_NormalMoveCmd.moveSpeed = moveSpeed; return(true); } m_ActionState = ACTION_STATE.IDLE; return(false); }
public bool IsKeyDownOrHold() { if (m_KeyRecordList.Count > 0) { CommondKeyRecord KeyRecord = m_KeyRecordList[m_KeyRecordList.Count]; if (KeyRecord.IsKeyDownOrHold(KeyCode.A) || KeyRecord.IsKeyDownOrHold(KeyCode.S) || KeyRecord.IsKeyDownOrHold(KeyCode.D) || KeyRecord.IsKeyDownOrHold(KeyCode.W)) { return(true); } } return(false); }
private void CalcClickKeys(float duration) { m_ClickKeyList.Clear(); for (int i = m_KeyRecordList.Count - 1; i >= 0; --i) { CommondKeyRecord KeyRecord = m_KeyRecordList[i]; if (Time.time > KeyRecord.timeStamp + duration) { break; } KeyCode downKey; if (KeyRecord.GetDownKey(out downKey)) { m_ClickKeyList.Add(downKey); } } }