示例#1
0
    // pool
    public GObject GetEntity(GObject.ObjectType oType)
    {
        GObject gobj = GetFromPool(oType);

        if (gobj != null)
        {
            gobj.gameObject.SetActive(true);
            gobj.m_PhysBody.Activate();
            return(gobj);
        }
        else
        {
            GameObject gameObject = null;

            switch (oType)
            {
            case GObject.ObjectType.Enemy:
                gameObject = GameObject.Instantiate(m_Enemy, Vector3.zero, Quaternion.identity);
                break;

            case GObject.ObjectType.Ball:
                gameObject = GameObject.Instantiate(m_Ball, Vector3.zero, Quaternion.identity);
                break;

            case GObject.ObjectType.Bonus:
                gameObject = GameObject.Instantiate(m_Bonus, Vector3.zero, Quaternion.identity);
                break;
            }
            if (gameObject != null)
            {
                gobj = gameObject.GetComponent <GObject>();
                gobj.PreInit();
            }
        }
        return(gobj);
    }