Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /////
- ////
- ///
- //
- /
- // CODE CENTRAL.
- using UnityEngine;
- using System.Collections;
- public class gameEngine : MonoBehaviour {
- float reload = 0.0F;
- float speed = 0.25F;
- WaveType nextWave;
- public GameObject Prefab;
- public enum WaveType
- {
- Solo,
- Duo,
- Rave,
- }
- // Use this for initialization
- void Start () {
- reload = 0.0F;
- }
- // Update is called once per frame
- void Update () {
- foreach (var go in GameObject.FindGameObjectsWithTag("Enemy"))
- {
- go.transform.Translate(new Vector3(0, -(speed/6)));
- }
- if (reload < Time.time)
- {
- if (speed < 1F)
- speed += 0.01F;
- reload = Time.time + Random.Range(0.05F, 1.25F - (speed >= 0.4F ? 0.6F : speed));
- // create new pixels
- if (reload >= 0.05 && reload <= 0.5)
- {
- nextWave = WaveType.Solo;
- }
- else if (reload >= 0.5 && reload <= 1)
- {
- nextWave = WaveType.Duo;
- }
- else
- {
- var raveChance = Random.Range(1, 50);
- nextWave = raveChance >= 40 ? WaveType.Rave : WaveType.Duo;
- }
- switch(nextWave)
- {
- case WaveType.Solo:
- {
- var randomSide = Random.Range(1, 3);
- var obj = Instantiate(Prefab);
- var side = randomSide == 1 ? -0.3F : 0.3F;
- obj.transform.position = new Vector3(side, 10F);
- obj.tag = "Enemy";
- reload = 0.1F;
- break;
- }
- case WaveType.Duo:
- {
- var randomSide = Random.Range(1, 3);
- for (int i = 0; i < 2; i++)
- {
- var obj = Instantiate(Prefab);
- var side = randomSide == 1 ? -0.3F : 0.3F;
- obj.transform.position = new Vector3(side, 10F + i*0.3F);
- obj.tag = "Enemy";
- }
- break;
- }
- case WaveType.Rave:
- {
- var randomSide = Random.Range(1, 3);
- var side = randomSide == 1 ? -0.3F : 0.3F;
- for (int i = 0; i < 8; i++)
- {
- var obj = Instantiate(Prefab);
- obj.transform.position = new Vector3(side, 10F + i * 0.26F);
- obj.tag = "Enemy";
- }
- break;
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement