private void Update() { if (isCasting == false) { if (Input.GetKeyDown(KeyCode.Mouse0)) { if (currentCooldowns[0] <= 0) { CastRequest(Spellbook.CastTime(Spellbook.KeyRep.M0, TalentSystem.m0), TalentSystem.m0, 0); } } if (Input.GetKeyDown(KeyCode.Mouse1)) { if (currentCooldowns[1] <= 0) { CastRequest(Spellbook.CastTime(Spellbook.KeyRep.M1, TalentSystem.m1), TalentSystem.m1, 1); } } if (Input.GetKeyDown(KeyCode.Q)) { if (currentCooldowns[2] <= 0) { CastRequest(Spellbook.CastTime(Spellbook.KeyRep.Q, TalentSystem.keyQ), TalentSystem.keyQ, 2); } } if (Input.GetKeyDown(KeyCode.E)) { if (currentCooldowns[3] <= 0) { CastRequest(Spellbook.CastTime(Spellbook.KeyRep.E, TalentSystem.keyE), TalentSystem.keyE, 3); } } if (Input.GetKeyDown(KeyCode.R)) { if (currentCooldowns[4] <= 0) { CastRequest(Spellbook.CastTime(Spellbook.KeyRep.R, TalentSystem.keyR), TalentSystem.keyR, 4); } } if (Input.GetKeyDown(KeyCode.F)) { if (currentCooldowns[5] <= 0) { CastRequest(Spellbook.CastTime(Spellbook.KeyRep.F, TalentSystem.keyF), TalentSystem.keyF, 5); } } } if (isCasting == true && (Input.GetKey(KeyCode.W) || Input.GetKey(KeyCode.S) || Input.GetKey(KeyCode.A) || Input.GetKey(KeyCode.D))) { CancelCast(); } if (Input.GetKeyDown(KeyCode.T)) { CancelCast(); } if (isCasting == true) { Casting(); } for (int i = 0; i < 6; i++) { if (currentCooldowns[i] >= 0) { currentCooldowns[i] = currentCooldowns[i] - Time.deltaTime; } } }