void Update() { distanceToPlayer = Vector3.Distance(player.transform.position, transform.position); WeaponSystem weaponSystem = GetComponent <WeaponSystem>(); currentWeaponRange = weaponSystem.GetCurrentWeapon().GetMaxAttackRange(); if (distanceToPlayer > chaseRadius && state != State.patrolling) { StopAllCoroutines(); weaponSystem.StopAttacking(); StartCoroutine(Patrol()); } if (distanceToPlayer <= chaseRadius && state != State.chasing) { StopAllCoroutines(); weaponSystem.StopAttacking(); StartCoroutine(ChasePlayer()); } if (distanceToPlayer <= currentWeaponRange && state != State.attacking) { StopAllCoroutines(); weaponSystem.AttackTarget(player.gameObject); } }
void OnMouseOverEnemy(EnemyAI enemy) { { if (Input.GetMouseButton(0) && IsTargetInRange(enemy.gameObject)) { weaponSystem.AttackTarget(enemy.gameObject); } else if (Input.GetMouseButton(0) && !IsTargetInRange(enemy.gameObject)) { StartCoroutine(MoveAnAttack(enemy)); //atacar } else if (Input.GetMouseButtonDown(1) && IsTargetInRange(enemy.gameObject)) { abilities.AttemptSpecialAbility(0, enemy.gameObject); } else if (Input.GetMouseButtonDown(1) && !IsTargetInRange(enemy.gameObject)) { StartCoroutine(MoveAnSmite(enemy)); } } }