/************************************************************************/ /* Constructor */ /************************************************************************/ public HUD(ContentHolder contentHolder, Camera camera) { updateHudPositions(camera); healthAuxBar = new Models.Interface(contentHolder.healthAuxBar, healthAuxBarPosition.X, healthAuxBarPosition.Y, new Vector2(0, 0)); special = new Models.Interface(contentHolder.special, specialPosition.X, specialPosition.Y, new Vector2(0, 0)); }
private Controllers.UnitHandler unithandler = new Controllers.UnitHandler(); //WIP - mostly empty #endregion Fields #region Constructors public Gameworld(ContentHolder contentHolder, Viewport view, int levelSize) { particleSystem = new Controllers.ParticleSystem(); initializeGameworld(contentHolder); camera = new Camera(view); hud = new HUD(contentHolder, camera); LevelSize = levelSize; Debug = false; }
/// <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 gameController = new Controllers.Controller(); contentHolder = new ContentHolder(this.Content); inputHandler = new InputHandler(); gameWorld = new Models.Gameworld(contentHolder, GraphicsDevice.Viewport); //TODO SINGLETON base.Initialize(); }
private void initializeGameworld(ContentHolder contentHolder) { playerObject = new Player(contentHolder.texturePlayer, contentHolder.texturePlayerTurret, 100, 100, Vector2.Zero, 100, 100); // The following should (and will, eventually) be loaded by reading a file generated by an editor, // so this is temp, testing etc rock[0] = new Collidable(contentHolder.textureRock01, 150, 300, Vector2.Zero); rock[1] = new Collidable(contentHolder.textureRock02, -250, -330, Vector2.Zero); rock[2] = new Collidable(contentHolder.textureRock01, 500, 300, Vector2.Zero); rock[3] = new Collidable(contentHolder.textureRock02, -100, 250, Vector2.Zero); }
/************************************************************************/ /* Constructor */ /************************************************************************/ public HUD(ContentHolder contentHolder, Camera camera) { updateHudPositions(camera); healthAuxBar = new Models.Interface(contentHolder.healthAuxBar, healthAuxBarPosition.X, healthAuxBarPosition.Y, new Vector2(0, 0), 0); special = new Models.Interface(contentHolder.special, specialPosition.X, specialPosition.Y, new Vector2(0, 0), 0); ammoFont = contentHolder.creditsFont; ammoCounterSpecial = "deo"; #if DEBUG this.debugFont = contentHolder.debugFont; #endif }
public Controller(ContentHolder content, SoundManager soundManager, Highscores hs, string title, int width, int height) { //playerObject = new GameObject[Constants.maxNumberOfObjectsInArray]; this.soundManager = soundManager; playerObject = null; this.content = content; physicsEngine = new PhysicsEngine(); menuHandler = new MenuHandler(content, width, height, hs); elapsed = 0; randGen = new Random(); randomTimeBetweenSpawns = randGen.Next(1, 5); this.hs = hs; soundManager.playSoundtrack(); }
//private Projectile[] playerBullets; public Gameworld(ContentHolder contentHolder, Viewport view) { initializeGameworld(contentHolder); camera = new Camera(view); hud = new HUD(contentHolder, camera); }
private void initializeGameworld(ContentHolder contentHolder) { playerObject = new Player( contentHolder.texturePlayer, contentHolder.texturePlayerTurret, contentHolder.texturePlayerBullet, contentHolder.texturePlayerSpecal01, 0, 0, Vector2.Zero, 5000); gravityWell = new GameObject(contentHolder.textureGravityWell, playerObject.Position.X, playerObject.Position.Y, Vector2.Zero, 0); levelBounds = createBounds(); background01 = new Background(contentHolder.bg_variant0, playerObject.Velocity, levelBounds, 0, 0, 0.4f); background02 = new Background(contentHolder.bg_variant1, playerObject.Velocity, levelBounds, 0, 0, 0.2f); // The following should (and will, eventually) be loaded by reading a file generated by an editor, // so this is temp, testing etc particleSystem.newEmitter(contentHolder.particle_smoke, getPlayer().Position, 0, 200, 12, false, getPlayer().Velocity); rocks.Add(new Collidable(contentHolder.textureRock01, 150, 300, Vector2.Zero, true, 600)); rocks.Add(new Collidable(contentHolder.textureRock02, -250, -330, Vector2.Zero, true, 400)); rocks.Add(new Collidable(contentHolder.textureRock01, 500, 300, Vector2.Zero, true, 100)); rocks.Add(new Collidable(contentHolder.textureRock02, -100, 250, Vector2.Zero, true, 250)); rocks.Add(new Collidable(contentHolder.textureRock01, 0, -250, new Vector2(0, -2), true, 200)); //for (int i = 0; i < 20; i++) //{ // enemies.Add(new Enemy(contentHolder.textureEnemy01, contentHolder.texturePlayerTurret, contentHolder.texturePlayerBullet, i * 20 + 200, i * 20 + 200, Vector2.Zero, 1000)); //} }
public void update(GameTime gameTime, ContentHolder contentHolder) { camera.update(playerObject, gameTime); background01.update(playerObject.Velocity); background02.update(playerObject.Velocity); hud.updateHudPositions(camera); hud.update(playerObject); particleSystem.update(gameTime, getPlayer().Position, getPlayer().Velocity); gravityWell.Position = playerObject.Position; Vector2 vectorBetweenEnemyAndPlayer = new Vector2(); //System.Console.WriteLine("X = " + gravityWell.Position.X + " Y = " + gravityWell.Position.Y); Vector2 playPos = new Vector2(); for (int i = 0; i < rocks.Count; i++) { rocks[i].updatePosition(); } playPos = playerObject.Position; for (int i = 0; i < enemies.Count; i++) { enemies[i].updatePosition(); vectorBetweenEnemyAndPlayer.X = (playerObject.Position.X - enemies[i].Position.X); vectorBetweenEnemyAndPlayer.Y = - (playerObject.Position.Y - enemies[i].Position.Y); enemies[i].update(vectorBetweenEnemyAndPlayer, gameTime, false); } }
public void spawnEnemiesAtRandom(ContentHolder contentHolder) { Random randGen = new Random(); int screenWidth = 1280; int screenHeight = 720; int randomXPosition = randGen.Next(-screenWidth , screenWidth / 2); int randomYPosition = randGen.Next(-screenHeight , screenHeight / 2); int spawnDirection = randGen.Next(1, 5); int randomHealth = randGen.Next(100, 301); Vector2 direction = new Vector2(); Vector2 spawnPosition = new Vector2(); int numberOfEnemies = randGen.Next(4, 9); switch (spawnDirection) { //Top case 1: spawnPosition.X = randomXPosition; spawnPosition.Y = playerObject.Position.Y - screenHeight; direction = new Vector2(0, -2); break; //Right case 2: spawnPosition.X = playerObject.Position.X + screenWidth; spawnPosition.Y = randomYPosition; direction = new Vector2(-2, 0); break; //Bottom case 3: spawnPosition.X = randomXPosition; spawnPosition.Y = playerObject.Position.Y + screenHeight; direction = new Vector2(0, 2); break; //Left case 4: spawnPosition.X = playerObject.Position.X - screenWidth; spawnPosition.Y = randomYPosition; direction = new Vector2(2, 0); break; } //Magic numbers ftw. //direction = 3; int offsetPosition = 32; for (int i = 0; i < numberOfEnemies; i++) { enemies.Add(new Enemy(contentHolder.textureEnemy01, contentHolder.texturePlayerTurret, contentHolder.texturePlayerBullet, spawnPosition.X + offsetPosition, spawnPosition.Y + offsetPosition, direction * 0.8f, randomHealth)); offsetPosition += 32; } rocks.Add(new Collidable(contentHolder.textureRock01, spawnPosition.X, spawnPosition.Y, Vector2.Zero, 300)); }
/// <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 gamestate = GameStates.Menu; highScores = new Highscores(); contentHolder = new ContentHolder(this.Content); soundManager = new SoundManager(contentHolder); gameController = new Controllers.Controller(contentHolder, soundManager, highScores, gameName, width, height); inputHandler = new InputHandler(); gameWorld = new Models.Gameworld(contentHolder, GraphicsDevice.Viewport, 4096); //TODO SINGLETON base.Initialize(); }