// 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); }