Example #1
0
    public static FireballFactory Instance()
    {
        if (m_instance == null)
        {
            m_instance = new FireballFactory();
        }

        return(m_instance);
    }
    /*-----------------------PLAYER FIREBALL POOL----------------------------------*/

    // Build Fireball pool
    private void _BuildFireballPool(FireballType type)
    {
        // create empty Queue structure
        m_fireballPool = new Queue <GameObject>();

        for (int count = 0; count < MaxFireballs; count++)
        {
            var tempFireball = FireballFactory.Instance().createFireball(type);
            m_fireballPool.Enqueue(tempFireball);
        }
    }
    /*----------------------------------------------------------------------------*/


    /*-----------------------ENEMY FIREBALL POOL----------------------------------*/

    // Build Enemy Fireball pool
    private void _BuildEnemyFireballPool(FireballType eType)
    {
        // create empty Queue structure
        m_enemyFireballPool = new Queue <GameObject>();

        for (int count = 0; count < MaxFireballs; count++)
        {
            var tempFireball = FireballFactory.Instance().createFireball(eType);
            tempFireball.transform.Rotate(0.0f, 0.0f, 180.0f, Space.World);
            m_enemyFireballPool.Enqueue(tempFireball);
        }
    }