public void InstantiateNow(string type, Vector3 pos, Entity.Teams team, Vector3 dir, float overrideMaxDistance) { bool isNewType = !prefabs.ContainsKey(type); Entity e = null; if (isNewType) { GameObject go = new GameObject(type); e = go.AddComponent <Entity>(); e.Initialize(SerializedEntities.se.Get(type), pos, team, dir); prefabs.Add(type, go.transform); go.SetActive(false); } else { GameObject go = GameObject.Instantiate(prefabs[type], pos, Quaternion.identity).gameObject; go.SetActive(true); e = go.GetComponent <Entity>(); e.InitializePrefab(SerializedEntities.se.Get(type), pos, team, dir); if (overrideMaxDistance > 0) { e.serializedEntity.maxDistance = overrideMaxDistance; } entities.Add(e); } }
public void Test(int count) { System.Random rnd = new System.Random(); if (entities.entities.Count < count) { for (int i = 0; i < 1; i++) { float s = 20; float d1 = (float)rnd.NextDouble() * s - s / 2; float d2 = (float)rnd.NextDouble() * s - s / 2; Entity.Teams t = Entity.Teams.AI1; if (rnd.NextDouble() > 0.5) { t = Entity.Teams.AI2; } if ((float)rnd.NextDouble() > 0.5) { entities.Instantiate("Sopwith", new Vector3(d1, d2, 0), t, Vector3.zero, -1); } else { entities.Instantiate("ParaTrooper", new Vector3(d1, d2, 0), t, Vector3.zero, -1); } } } }
public InstantiateQueueItem(string t, Vector3 p, Vector3 d, Entity.Teams tm, float omx) { type = t; pos = p; dir = d; team = tm; overrideMaxDistance = omx; }
public void Instantiate(string type, Vector3 pos, Entity.Teams team, Vector3 dir, float overrideMaxDistance) { queuedItems.Add(new InstantiateQueueItem(type, pos, dir, team, overrideMaxDistance)); }