Esempio n. 1
0
        protected override List<SpawnObj> ChooseSpawn()
        {
            float chance = UnityEngine.Random.Range(0f, 100f);
            List<SpawnObj> newSpawn = new List<SpawnObj>();

            foreach (SpawnType type in SpawnTypes)
            {
                if (chance >= type.LowerChance && chance <= type.UpperChance)
                {
                    if (PassPrefab)
                    {
                        newSpawn.Add(type.Prefab);
                    }
                    else
                    {
                        for (int i = 0; i < NumObjPerSpawn; ++i)
                        {
                            throw new Exception("FIX THIS DUSTIN!!");
                            SpawnObj newObj = new SpawnObj(); // UnitManager.Instance.GetUnit(type.Prefab);
                            newSpawn.Add(newObj);
                            spawnObjs.Add(newObj);
                        }
                    }

                    break;
                }
            }

            return newSpawn;
        }
Esempio n. 2
0
    // Start is called before the first frame update
    private void OnCollisionEnter2D(Collision2D collision)
    {
        SpawnObj Sobj = collision.gameObject.GetComponent <SpawnObj>();

        if (Sobj != null)
        {
            GameObject spawned = Sobj.Spawn(toSpawn);
            if (spawned != null)
            {
                spawned.GetComponent <TimeStaticOBJ>().SetPivot(TimeChange.CurrentTime);
                TouchManager.Instance.eraseReference();
                Destroy(this.gameObject);
            }
        }
    }
Esempio n. 3
0
    public IEnumerator Generate()
    {
        yield return(new WaitForSeconds(HardTime));

        if (Active)
        {
            Random.InitState((int)System.DateTime.Now.Ticks);
            NeedToSpawn = new bool[4];
            for (i = 0; i < NumberOfSpawners; i++)
            {
                NeedToSpawn [i] = false;
            }
            i = NumberOfSpawners;
            if (PrevArray [0] == false)
            {
                NeedToSpawn [0] = true;
                i--;
            }
            if (PrevArray [NumberOfSpawners - 1] == false)
            {
                NeedToSpawn [NumberOfSpawners - 1] = true;
                i--;
            }
            i = Random.Range(0, i);



            while (i > 0)
            {
                int buf = Random.Range(0, NumberOfSpawners - 1);
                if (NeedToSpawn [buf] == false)
                {
                    i--;
                    NeedToSpawn [buf] = true;
                }
            }
            PrevArray = NeedToSpawn;
            GameObject[] Spawners = GameObject.FindGameObjectsWithTag("Spawner");
            foreach (GameObject SpawnObj in Spawners)
            {
                SpawnObj.GetComponent <SpawnerScript> ().Spawn();
            }
            StartCoroutine(Generate());
        }
    }
Esempio n. 4
0
		protected virtual List<SpawnObj> DoSpawn_Prefab(SpawnObj prefab)
		{
			return new List<SpawnObj>();
		}