/// <summary> /// Allows the game to perform any initialization it needs to before starting to run. /// This is where it can query for any required services and load any non-graphic /// related content. Calling base.Initialize will enumerate through any components /// and initialize them as well. /// </summary> protected override void Initialize() { // TODO: Add your initialization logic here gameObjects = new List <GameObject>(); newObjects = new List <GameObject>(); objectsToRemove = new List <GameObject>(); Colliders = new List <Collider>(); //Adds a GameObject to the game Director director = new Director(new PlayerBuilder()); gameObjects.Add(director.Construct(Vector2.Zero)); gameObjects.Add(EnemyPool.Create(new Vector2(400, 400), Content)); //Platforms gameObjects.Add(ObjectPool.Create(new Vector2(0, 660), Content)); gameObjects.Add(ObjectPool.Create(new Vector2(400, 660), Content)); gameObjects.Add(ObjectPool.Create(new Vector2(800, 660), Content)); gameObjects.Add(ObjectPool.Create(new Vector2(1200, 660), Content)); base.Initialize(); }
/// <summary> /// Remove This Later. ITs a Note /// </summary> private void SpawnEnemy() { if (Keyboard.GetState().IsKeyDown(Keys.M) && addEnemy) { newObjects.Add(EnemyPool.Create(new Vector2(rnd.Next(0, 1000 /*Window.ClientBounds.Width*/), rnd.Next(0, 600 /*Window.ClientBounds.Height*/)), Content)); addEnemy = false; } if (Keyboard.GetState().IsKeyUp(Keys.M)) { addEnemy = true; } if (Keyboard.GetState().IsKeyDown(Keys.N) && removeEnemy) { foreach (GameObject go in gameObjects) { if (go.Tag == "Enemy") { objectsToRemove.Add(go); break; } } removeEnemy = false; } if (Keyboard.GetState().IsKeyUp(Keys.N)) { removeEnemy = true; } UpdateLevel(); }
public void UpdateLevel() { if (objectsToRemove.Count > 0) { foreach (GameObject go in objectsToRemove) { gameObjects.Remove(go); EnemyPool.ReleaseObject(go); } objectsToRemove.Clear(); } if (newObjects.Count > 0) { gameObjects.AddRange(newObjects); newObjects.Clear(); } }