// PLAYER public IEnumerator attackEnemy(EnemyAttributes enemy, bool player) { EnemyAttributes playerEnemy = gameManager.getPlayerBehavior().transform.GetComponent <EnemyAttributes>(); Vector3 hitGroundPosition = gameManager.getPlayerBehavior().getHitGround(); //Debug.Log("start attacking"); if (!playerEnemy.getIsAttackingEnemy() && enemy != this) { playerEnemy.setIsAttackigEnemy(true); playerEnemy.lookAtTargetEnemy(enemy); while (playerEnemy.getIsAttackingEnemy()) { if (hitGroundPosition != gameManager.getPlayerBehavior().getHitGround()) { //Debug.Log("not attacking anymore because player clicked elsewhere"); enemy.setMobIndicator(false); enemy.setHealthbar(false); enemy.setAllIndicatorsFallsAndActivate("red"); break; } if (enemy == null) { break; } else { enemy.setHealthbar(true); enemy.setMobIndicator(true); enemy.setAllIndicatorsFallsAndActivate("yellow"); //Debug.Log("attacking enemy running"); } if (!playerEnemy.getAttackCooldown()) { playerEnemy.dealDamage(enemy); } yield return(null); } //Debug.Log("end attacking"); playerEnemy.setIsAttackigEnemy(false); } }