private void ProcessEnemyInteraction(EnemyAI enemy) { if (Input.GetMouseButtonDown(0) && IsTargetInRange(enemy.gameObject)) { currentTarget = enemy.gameObject; weaponSystem.Attack(enemy.gameObject); } else if (Input.GetMouseButtonDown(0) && !IsTargetInRange(enemy.gameObject)) { StartCoroutine(MoveAndAttack(enemy)); } else if (Input.GetMouseButtonDown(1) && IsTargetInRange(enemy.gameObject)) { abilities.AttemptSpecialAbility(2, currentTarget); } else if (Input.GetMouseButtonDown(1) && !IsTargetInRange(enemy.gameObject)) { StartCoroutine(MoveAndPowerAttack(enemy)); } }
IEnumerator MoveAndAttack(GameObject target) { yield return(StartCoroutine(MoveAndTarget(target))); weaponSystem.Attack(target); }