//------------------------------------------------------------------------------------------------ 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 (ork) IEnumerator AttackPerSeconds(SkryptOrk SO) { while (valueOfAttacks < 999) { yield return(new WaitForSeconds(1.5f)); DoDmg(SO); valueOfAttacks++; } }
void PoruszaniePrawo() { SkryptWojownik SW = GameObject.FindObjectOfType <SkryptWojownik>(); SkryptOrk SO = GameObject.FindObjectOfType <SkryptOrk>(); if (gameObject.CompareTag("Friend")) { if (!SW.IsCollidingWithEnemy) { transform.Translate(Vector2.right * MovementSpeed * Time.deltaTime); } } else if (gameObject.CompareTag("Enemy")) { if (!SO.IsCollidingWithFriend) { transform.Translate(Vector2.right * -MovementSpeed * Time.deltaTime); } } }
//--------------------------------------------------------------------------------------------------- Funkcja Zadawania Obrażeń void DoDmg(SkryptOrk SO) { SO.HealthOrc -= AttackWarrior; }