IEnumerator ShootWasteCardCR() { if (AccumulatedCards > 0) { Time.timeScale = 0.2f; GameObject cannon = CurrentPlayer.PlayerAvatar.GetRandomCannon; yield return(ShootCannonCR(cannon, uiAccumulatedCardsGo.transform)); AudioSource audio = AccumulatedCardsLightingBolt.GetComponent <AudioSource>(); AccumulatedCardsLightingBolt.Play(); audio.Play(); Fireball fireball = Instantiate(FireballPrefab, uiAccumulatedCardsGo.transform, false); fireball.Initialize(cannon.transform); AudioSourceCannon.Play(); yield return(new WaitForFireball(fireball)); AudioPlayExplosion(); AccumulatedCards = 0; yield return(new WaitForSeconds(0.5f)); Time.timeScale = 1f; } else { yield return(ShootCannonCR(CurrentPlayer, WasteCard.transform)); yield return(AddCardToGraveyardCR(WasteCard)); yield return(RemoveTopWasteCard()); } }
void Shoot() { Vector3 direction = (playerTransform.position - transform.position).normalized; Fireball instantiatedFireball = Instantiate(fireball, transform.position, Quaternion.identity); instantiatedFireball.Initialize(direction); }
IEnumerator ShootCannonCR(GameObject cannon, Transform target) { Vector3 dir = target.position - cannon.transform.position; float angle = Mathf.Atan2(dir.y, dir.x) * Mathf.Rad2Deg; cannon.transform.rotation = Quaternion.AngleAxis(angle - 90, Vector3.forward); if (cannon != null) { Fireball fireball = Instantiate(FireballPrefab, cannon.transform, false); fireball.Initialize(target); AudioSourceCannon.Play(); yield return(new WaitForFireball(fireball)); } }
private void Awake() { m_FireBalls = new List <Fireball>(); m_Princess = new List <Princess>(); m_Swords = new List <Sword>(); m_BrokenScales = new List <GameObject>(); for (int i = 0; i < 20; i++) { GameObject fireBall = Instantiate(Resources.Load("Prefabs/FireBall") as GameObject); Fireball fireBallScript = fireBall.GetComponent <Fireball>(); fireBallScript.Initialize(); m_FireBalls.Add(fireBallScript); } for (int i = 0; i < 3; i++) { GameObject princess = Instantiate(Resources.Load("Prefabs/Princess") as GameObject); Princess princesScript = princess.GetComponent <Princess>(); princesScript.Initialize(); m_Princess.Add(princesScript); } for (int i = 0; i < 2; i++) { GameObject sword = Instantiate(Resources.Load("Prefabs/Sword") as GameObject); Sword swordScript = sword.GetComponent <Sword>(); swordScript.Initialize(); m_Swords.Add(swordScript); } for (int i = 0; i < 10; i++) { GameObject scale = Instantiate(Resources.Load("Prefabs/BrokenScale") as GameObject); scale.SetActive(false); m_BrokenScales.Add(scale); } }