/// <summary> /// Spawn a Tower From its Identifier /// </summary> /// <param name="entityIdentifier">Entity Identifier to spawn</param> /// <param name="pos">Position</param> /// <param name="rot">Rotation</param> public void SpawnTower(string entityIdentifier, Vector3 pos, Quaternion rot) { TowerData def = GameDataManager.instance.GetEntityData(entityIdentifier) as TowerData; GameObject towerObj = SpawnManager.instance.InstantiatePool(def.m_prefab, pos, rot); AIEntity towerComponent = towerObj.GetComponent <AIEntity>(); towerComponent.InitializeEntity(def, Guid.NewGuid().ToString()); NetworkServer.Spawn(towerObj); }
/// <summary> /// Creates a nexus based on the Data Identifier parameters /// </summary> /// <param name="entityIdentifier">Entity Identifier</param> /// <param name="pos">Position</param> /// <param name="rot">Rotation</param> public void SpawnNexus(string entityIdentifier, Vector3 pos, Quaternion rot) { NexusData def = GameDataManager.instance.GetEntityData(entityIdentifier) as NexusData; GameObject nexusObj = SpawnManager.instance.InstantiatePool(def.m_prefab, pos, rot); AIEntity aientityComponent = nexusObj.GetComponent <AIEntity>(); aientityComponent.InitializeEntity(def, Guid.NewGuid().ToString()); NetworkServer.Spawn(nexusObj); }
/// <summary> /// Spawn a Minion From its Identifier /// </summary> /// <param name="entityIdentifier">Entity Identifier to spawn</param> /// <param name="pos">Position</param> /// <param name="rot">Rotation</param> public AIEntity SpawnMinion(string entityIdentifier, Vector3 pos, Quaternion rot) { MinionData def = GameDataManager.instance.GetEntityData(entityIdentifier) as MinionData; GameObject obj = SpawnManager.instance.InstantiatePool(def.m_prefab, pos, rot); AIEntity iaComponent = obj.GetComponent <AIEntity>(); iaComponent.InitializeEntity(def, Guid.NewGuid().ToString()); NetworkServer.Spawn(obj); return(iaComponent); }