// Update is called once per frame void Update() { if (hM.dead && turn) { TurnManager.EndTurn(); } if (!turn) { targetUnit = null; return; } if (!moving) { FindNearestTarget(); CheckDistance(Vector3.forward, target); CheckDistance(-Vector3.forward, target); CheckDistance(Vector3.right, target); CheckDistance(-Vector3.right, target); if (targetUnit != null) { StartCoroutine(cM.Attack_Pause(this.gameObject, targetUnit)); targetUnit.GetComponent <HealthManager>().health--; turn = false; TurnManager.EndTurn(); } CalculatePath(); FindSelectableTiles(3); actualTargetTile.target = true; } else { Move(); } }
void CheckMouse() { if (Input.GetMouseButtonUp(0)) { Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit hit; if (Physics.Raycast(ray, out hit)) { if (hit.collider.tag == "NPC") { GameObject temp = hit.collider.gameObject; //Debug.Log(temp.name); CheckDistance(Vector3.forward, temp); CheckDistance(-Vector3.forward, temp); CheckDistance(Vector3.right, temp); CheckDistance(-Vector3.right, temp); if (targetUnit != null) { Debug.Log(targetUnit.name); StartCoroutine(cM.Attack_Pause(this.gameObject, targetUnit)); targetUnit.GetComponent <HealthManager>().health--; attacking = false; Wait(); } else { Debug.Log("NULL"); } } } } }