//------------------------------------------------------------------------------------------------ Funkcja gdy dochodzi do kolizji void OnTriggerEnter2D(Collider2D OrcCollider) //Kolizja z Orkiem { if (OrcCollider.gameObject.tag == "Enemy") { if (!isColliding) { IsCollidingWithEnemy = true; SkryptOrk SO = OrcCollider.gameObject.GetComponent <SkryptOrk>(); // Odwołanie do skryptu Orka StartCoroutine(AttackPerSeconds(SO)); attack = true; AnimacjaWojownika.SetBool("attack", attack); } isColliding = true; } else if (OrcCollider.gameObject.tag == "TowerEnemy") { if (!isColliding) { IsCollidingWithEnemy = true; TowerEnemy TE = OrcCollider.gameObject.GetComponent <TowerEnemy>(); // Odwoładnie do skryptu TowerEnemy StartCoroutine(AttackTowerPerSeconds(TE)); attack = true; AnimacjaWojownika.SetBool("attack", attack); } isColliding = true; } }
//--------------------------------------------------------------------------------------------------- Obrażenia co 1 sekunde (twierdza) IEnumerator AttackTowerPerSeconds(TowerEnemy TE) { while (valueOfAttacks < 999) { yield return(new WaitForSeconds(1.5f)); AttackTower(TE); valueOfAttacks++; } }
//---------------------------------------------------------------------------------------------------- Funkcja atakowania twierdzy void AttackTower(TowerEnemy TE) { TE.EnemyTowerHealth -= AttackWarrior; }