public Tuple <GameDirector, Canvas, CollisionManager> makeGame(GraphicsDevice graphicsDevice, Controller controller) { xmlParser = new XMLParser("test.xml"); director = new GameDirector(); canvas = new Canvas(new SpriteBatch(graphicsDevice)); collisionManager = new CollisionManager(); try { graphicsLoader = GraphicsLoader.makeGraphicsLoader(graphicsDevice); } catch (ArgumentException) { graphicsLoader = GraphicsLoader.getGraphicsLoader(); } EnemyFactory enemyFactory = new EnemyFactory(); xmlParser.Parse(); List <Encounter> encounters = xmlParser.getEncounterList(); int lastTime = 0; foreach (var encounter in encounters) { EncounterEvent encounterEvent = new EncounterEvent(collisionManager, canvas, encounter, director); lastTime = encounter.timeInMS; director.addEvent(encounter.timeInMS, encounterEvent); } SCREEN_WIDTH = graphicsDevice.Viewport.Bounds.Width; SCREEN_HEIGHT = graphicsDevice.Viewport.Bounds.Height; int offset = 50; Vector2 topMiddle = new Vector2(SCREEN_WIDTH / 2 - offset, -100); Vector2 topLeft = new Vector2(SCREEN_WIDTH / 4 - offset, -100); Vector2 topRight = new Vector2(3 * SCREEN_WIDTH / 4 - offset, -100); // sin.healthbar = new HealthBar(sin.Location, new Vector2(8, 0), 85, 90, sin.Health); Player player = MakePlayer(controller); player.invulnerable = hasCheatMode; director.addEvent(0, new PlayerEnter(canvas, player)); player.DeathEvent += canvas.OnPlayerDeath; //director.addEvent(0, new PlayerEnter(canvas, player)); return(new Tuple <GameDirector, Canvas, CollisionManager>(director, canvas, collisionManager)); }
public Tuple <GameDirector, Canvas, CollisionManager> makeGame(GraphicsDevice graphicsDevice, Controller controller) { xmlParser = new XMLParser("test.xml"); director = new GameDirector(); canvas = new Canvas(new SpriteBatch(graphicsDevice)); collisionManager = new CollisionManager(); Hitbox top = new CollidingRectangle(new Vector2(-50, -450), Vector2.Zero, graphicsDevice.Viewport.Width + 100, 50); Hitbox bottom = new CollidingRectangle(new Vector2(-50, graphicsDevice.Viewport.Height + 50), Vector2.Zero, graphicsDevice.Viewport.Width + 100, 50); Hitbox left = new CollidingRectangle(new Vector2(-100, -450), Vector2.Zero, 50, graphicsDevice.Viewport.Height + 500); Hitbox right = new CollidingRectangle(new Vector2(graphicsDevice.Viewport.Width + 50, -450), Vector2.Zero, 50, graphicsDevice.Viewport.Height + 500); BoundingObject bTop = new BoundingObject(null, Vector2.Zero, canvas); BoundingObject bBottom = new BoundingObject(null, Vector2.Zero, canvas); BoundingObject bLeft = new BoundingObject(null, Vector2.Zero, canvas); BoundingObject bRight = new BoundingObject(null, Vector2.Zero, canvas); bTop.Hitbox = top; bBottom.Hitbox = bottom; bLeft.Hitbox = left; bRight.Hitbox = right; collisionManager.addToTeam(bTop, TEAM.UNASSIGNED); collisionManager.addToTeam(bBottom, TEAM.UNASSIGNED); collisionManager.addToTeam(bLeft, TEAM.UNASSIGNED); collisionManager.addToTeam(bRight, TEAM.UNASSIGNED); try { graphicsLoader = GraphicsLoader.makeGraphicsLoader(graphicsDevice); } catch (ArgumentException) { graphicsLoader = GraphicsLoader.getGraphicsLoader(); } EnemyFactory enemyFactory = new EnemyFactory(); xmlParser.Parse(); List <Encounter> encounters = xmlParser.getEncounterList(); foreach (var encounter in encounters) { EncounterEvent encounterEvent = new EncounterEvent(collisionManager, canvas, encounter, director); //Console.WriteLine(encounter.timeInMS); director.addEvent(encounter.timeInMS, encounterEvent); } SCREEN_WIDTH = graphicsDevice.Viewport.Bounds.Width; SCREEN_HEIGHT = graphicsDevice.Viewport.Bounds.Height; int offset = 50; Vector2 topMiddle = new Vector2(SCREEN_WIDTH / 2 - offset, -100); Vector2 topLeft = new Vector2(SCREEN_WIDTH / 4 - offset, -100); Vector2 topRight = new Vector2(3 * SCREEN_WIDTH / 4 - offset, -100); // sin.healthbar = new HealthBar(sin.Location, new Vector2(8, 0), 85, 90, sin.Health); Player player = MakePlayer(controller); player.invulnerable = hasCheatMode; director.addEvent(0, new PlayerEnter(canvas, player)); player.DeathEvent += canvas.OnPlayerDeath; return(new Tuple <GameDirector, Canvas, CollisionManager>(director, canvas, collisionManager)); }
public Tuple <GameDirector, Canvas, CollisionManager> makeGame(GraphicsDevice graphicsDevice, Controller controller) { director = new GameDirector(); canvas = new Canvas(new SpriteBatch(graphicsDevice)); collisionManager = new CollisionManager(); graphicsLoader = GraphicsLoader.makeGraphicsLoader(graphicsDevice); // SCREEN_WIDTH = graphicsDevice.Viewport.Bounds.Width; // SCREEN_HEIGHT = graphicsDevice.Viewport.Bounds.Height; // int offset = 50; // Vector2 topMiddle = new Vector2(SCREEN_WIDTH / 2 - offset, -100); // Vector2 topLeft = new Vector2(SCREEN_WIDTH / 4 - offset, -100); // Vector2 topRight = new Vector2(3 * SCREEN_WIDTH / 4 - offset, -100); // Player player = MakePlayer(controller); // //Wave 1 enemies // // Enemy e1 = MakeEnemy('a', MOVEMENT.DOWN_RIGHT, topMiddle); // // Enemy e1 = MakeEnemy('c', MOVEMENT.DOWN_RIGHT, topMiddle); // Enemy e2 = MakeEnemy('a', MOVEMENT.DOWN_RIGHT, topLeft); // Enemy e3 = MakeEnemy('a', MOVEMENT.DOWN_LEFT, topRight); // Enemy e4 = MakeEnemy('a', MOVEMENT.SIN_DOWN, topMiddle); // // Enemy e5 = MakeEnemy('b', MOVEMENT.ZIGZAG_DOWN, topLeft); // // //Wave 2 enemies // // Enemy e6 = MakeEnemy('a', MOVEMENT.DOWN_RIGHT, topLeft); // // Enemy e7 = MakeEnemy('a', MOVEMENT.DOWN_LEFT, topRight); // // Enemy e8 = MakeEnemy('c', MOVEMENT.DOWN_RIGHT, topMiddle); // // Enemy e9 = MakeEnemy('b', MOVEMENT.ZIGZAG_DOWN, topMiddle); // // Enemy e10 = MakeEnemy('b', MOVEMENT.ZIGZAG_DOWN, topRight); // // Enemy e11 = MakeEnemy('b', MOVEMENT.ZIGZAG_DOWN, topLeft); // // //Wave 3 enemies // // Enemy e12 = MakeEnemy('a', MOVEMENT.DOWN_RIGHT, topLeft); // // Enemy e13 = MakeEnemy('a', MOVEMENT.DOWN_LEFT, topRight); // // Enemy e14 = MakeEnemy('c', MOVEMENT.DOWN_RIGHT, topMiddle); // // Enemy e15 = MakeEnemy('b', MOVEMENT.ZIGZAG_DOWN, topMiddle); // // Enemy e16 = MakeEnemy('b', MOVEMENT.ZIGZAG_DOWN, topRight); // // Enemy e17 = MakeEnemy('b', MOVEMENT.ZIGZAG_DOWN, topLeft); // //Bosses // // Enemy midboss = MakeMidBoss(); // // Enemy finalboss = MakeFinalBoss(); // // HealthBar healthbar = MakeHealthBar(); // // LifeBar lifebar = MakeLifeBar(); // // player.OnHit += lifebar.Update; //update life bar // director.addEvent(0, new PlayerEnter(canvas, player)); // player.DeathEvent += canvas.OnPlayerDeath; // director.addEvent(0, new PlayerEnter(canvas, player)); // /******************Wave 1************************* */ // // director.addEvent(0, new CreateEnemyEvent(collisionManager, canvas, e1)); // // director.addEvent(0 * 10000, new CreateEnemyEvent(collisionManager, canvas, e5)); // director.addEvent(5 * 10000, new CreateEnemyEvent(collisionManager, canvas, e2)); // director.addEvent(5 * 10000, new CreateEnemyEvent(collisionManager, canvas, e3)); // director.addEvent(5 * 10000, new CreateEnemyEvent(collisionManager, canvas, e4)); // /******************Wave 2************************* */ // // director.addEvent(25 * 10000, new CreateEnemyEvent(collisionManager, canvas, e6)); // // director.addEvent(25 * 10000, new CreateEnemyEvent(collisionManager, canvas, e7)); // // director.addEvent(25 * 10000, new CreateEnemyEvent(collisionManager, canvas, e8)); // // director.addEvent(30 * 10000, new CreateEnemyEvent(collisionManager, canvas, e10)); // // director.addEvent(30 * 10000, new CreateEnemyEvent(collisionManager, canvas, e11)); // // /******************MidBoss******************** */ // // director.addEvent(45 * 10000, new CreateEnemyEvent(collisionManager, canvas, midboss)); // // /******************Wave 3********************* */ // // director.addEvent(70 * 10000, new CreateEnemyEvent(collisionManager, canvas, e12)); // // director.addEvent(70 * 10000, new CreateEnemyEvent(collisionManager, canvas, e13)); // // director.addEvent(70 * 10000, new CreateEnemyEvent(collisionManager, canvas, e14)); // // director.addEvent(70 * 10000, new CreateEnemyEvent(collisionManager, canvas, e15)); // // director.addEvent(70 * 10000, new CreateEnemyEvent(collisionManager, canvas, e16)); // // /******************Final Boss***************** */ // // director.addEvent(90 * 10000, new CreateEnemyEvent(collisionManager, canvas, finalboss)); // // director.addEvent(125 * 10000, new GameWinEvent()); return(new Tuple <GameDirector, Canvas, CollisionManager>(director, canvas, collisionManager)); }