private void Movement(Vector3 targetPosition) { if (Vector3.Distance(character.transform.position, targetPosition) >= movementValidationRange) { character.Move(Vector3.Scale(targetPosition - character.transform.position, new Vector3(1, 0, 1)).normalized); } else { character.Rotate(Vector3.Scale(targetPosition - character.transform.position, new Vector3(1, 0, 1)).normalized); character.NoMove(); } }
public void CheckInputs() { if (Input.GetKeyDown(KeyCode.Escape)) { menuEquipement.Open(); return; } float forWalk = 0; float sideWalk = 0; bool movementInput = false; if (UnityEngine.Input.GetKey(KeyCode.Z) && !UnityEngine.Input.GetKey(KeyCode.S)) { forWalk = 1; movementInput = true; } else if (UnityEngine.Input.GetKey(KeyCode.S)) { forWalk = -1; movementInput = true; } if (UnityEngine.Input.GetKey(KeyCode.Q) && !UnityEngine.Input.GetKey(KeyCode.D)) { sideWalk = -1; movementInput = true; } else if (UnityEngine.Input.GetKey(KeyCode.D)) { sideWalk = 1; movementInput = true; } if (movementInput) { Vector3 direction = playerCamera.transform.forward * forWalk + playerCamera.transform.right * sideWalk; direction.y = 0; if (UnityEngine.Input.GetKeyDown(KeyCode.Space)) { character.Dash(direction.normalized); } else if (UnityEngine.Input.GetMouseButtonDown(0)) { character.Attack(true); } else if (UnityEngine.Input.GetMouseButtonDown(1)) { character.Bash(true); } else if (lockTarget != null) { direction.x = sideWalk; direction.z = forWalk; character.Strafe(playerCamera.transform.forward, direction.normalized); } else { character.Move(direction.normalized); } } else { if (UnityEngine.Input.GetKeyDown(KeyCode.Space)) { character.Dash(); } else if (UnityEngine.Input.GetMouseButtonDown(0)) { character.Attack(false); } else if (UnityEngine.Input.GetMouseButtonDown(1)) { character.Bash(false); } else if (lockTarget != null) { Vector3 direction = playerCamera.transform.forward; direction.y = 0; character.Rotate(direction.normalized); } else { character.NoMove(); } } if (UnityEngine.Input.GetKeyDown(KeyCode.A)) { Interact(); } if (UnityEngine.Input.GetKeyDown(KeyCode.Alpha1)) { character.UseSpell(0, lockTarget); } if (UnityEngine.Input.GetKeyDown(KeyCode.Alpha2)) { character.UseSpell(1, lockTarget); } if (UnityEngine.Input.GetKeyDown(KeyCode.Alpha3)) { character.UseSpell(2, lockTarget); } if (UnityEngine.Input.GetKeyDown(KeyCode.Alpha4)) { character.UseSpell(3, lockTarget); } if (UnityEngine.Input.GetMouseButtonDown(2)) { UpdateLockOn(); } }
private void Movement(Character target) { character.Rotate(Vector3.Scale(target.transform.position - character.transform.position, new Vector3(1, 0, 1)).normalized); character.NoMove(); }