示例#1
0
    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);
    }
示例#3
0
    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));
        }
    }
示例#4
0
    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);
        }
    }