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);
            }
        }
Exemple #2
0
        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));
 }