public T SpawnGameObject <T>(string className) where T : BaseObject { BaseObject baseObject = null; //string className = typeof(T).FullName; switch (className) { case "BallPlayer": case "SquareObstacleObject": baseObject = GameObjectPreloader.SpawnGameObject(className); break; default: Debug.LogErrorFormat("no have [{0}] in preloads resource", className); break; } ; if (baseObject != null) { baseObject.Init(); baseObject.transform.SetParent(m_objectHolder.transform, false); return(baseObject as T); } return(null); }
public BaseObject SpawnUnit(ObjectType objectType) { if (objectList.Count >= GameConstant.enemySpawnCap) { return(null); } BaseObject creep = PrefabsManager.SpawnUnit(objectType); //set at random position, for now creep.transform.position = enemySpawnPos[Random.Range(0, enemySpawnPos.Count)].transform.position; creep.Init(this, true, currentSpawnLevel); objectList.Add(creep); creep.ChargeAtObject(RequestTarget(creep), false); creep.transform.parent = transform; return(creep); }
private void BaseObjectListNewElementAppend(BaseObject newValue) { newValue.InjectShared(Shared); newValue.PreInit(); newValue.Init(); }