private void PlayerDeath(GameObject gameObject) { gameObject.RemoveGameObject(); var death = new GameObject("Death", gameObject.TopLeft); var deathAnimation = new ScaleAnimationComponent(SpaceGraphics.LargeExpolosionAsset[0], 0, 50, 3000, Color.DarkRed, null, ObjectEvent.RemoveEntity); var exitLevel = new ObjectEventComponent(ObjectEvent.RemoveEntity, ExitLevelAction); death.AddComponent(deathAnimation); death.AddComponent(exitLevel); DisplayLayer.AddGameObject(death); }
private void CreateScoreDisplay() { var score = new GameObject("Score", new Vector2(10, 10)); var counterComponent = new CounterIncrementComponent(ObjectEvent.ScoreIncrease, ObjectEvent.ScoreIncreaseDisplay, ObjectEvent.Ignore, ObjectEvent.Ignore, 0, 100, false); var scoreComponent = new TextComponent(FontGraphics.PropertialFont_8X8, counterComponent); score.AddComponent(counterComponent); score.AddComponent(scoreComponent); DisplayLayer.AddGameObject(score); _scoreGameObject = score; GameConstants.GameInstance.ScoreEventHandler += ScoreMilestones; }
protected override void LoadDisplay() { var player = new GameObject("PlayerOneSelection", new Vector2(10, 10)); var playerText = new TextComponent(FontGraphics.PropertialFont_8X8, "PLAYER ONE"); var startText = new TextComponent(FontGraphics.PropertialFont_8X8, "PRESS SPACE TO START", new Vector2(0, 100)); var counter = new CounterComponent(ObjectEvent.PreviousCharacter, ObjectEvent.NextCharacter, 0, _playerCharacters.Count() - 1); var sprites = new SpriteMappingsComponent(RpgGraphics.GameboySpriteMapping, _playerCharacters, new Vector2(10, 50), counter); var nextCharacter = new KeyboardEventComponent(Keys.Right, ObjectEvent.NextCharacter); var previousCharacter = new KeyboardEventComponent(Keys.Left, ObjectEvent.PreviousCharacter); var action = new KeyboardActionComponent(Keys.Space, Action); player.AddComponent(playerText); player.AddComponent(startText); player.AddComponent(counter); player.AddComponent(sprites); player.AddComponent(nextCharacter); player.AddComponent(previousCharacter); player.AddComponent(action); DisplayLayer.AddGameObject(player); }
protected override void LoadDisplay() { var xCentre = GameConstants.ScreenBoundary.Width / 2; var yCentre = GameConstants.ScreenBoundary.Height / 2; var display = new GameObject("Text", new Vector2(xCentre, yCentre)); var font = FontGraphics.PropertialFont_8X8; var textSimpleRpg = new TextComponent(font, "SIMPLE RPG", new Vector2(-75, -25), 2); var textEnter = new TextComponent(font, "PRESS ENTER", new Vector2(-80, 25), 2); var shield = new SpriteMappingComponent(RpgGraphics.GameboySpriteMapping, "Sword10", new Vector2(-250, 0), 3f); var sword = new SpriteMappingComponent(RpgGraphics.GameboySpriteMapping, "Shield10", new Vector2(200, 0), 3f); var action = new KeyboardActionComponent(Keys.Enter, Action); display.AddComponent(textSimpleRpg); display.AddComponent(textEnter); display.AddComponent(shield); display.AddComponent(sword); display.AddComponent(action); DisplayLayer.AddGameObject(display); }
protected override void LoadDisplay() { var xPosition = GameHelper.GetRelativeScaleX(0.5f); var yPosition = GameHelper.GetRelativeScaleY(0.1f); var gameCounter = new GameObject("GameCounter", new Vector2(xPosition - 20, yPosition)); var text = new TextComponent(FontGraphics.DigifontFont_16X16, StringFunc); var playerOneOutput = new TextComponent(FontGraphics.DigifontFont_16X16, PlayerOneFunc, new Vector2(-100, 50)); var playerTwoOutput = new TextComponent(FontGraphics.DigifontFont_16X16, PlayerTwoFunc, new Vector2(100, 50)); gameCounter.AddComponent(text); gameCounter.AddComponent(playerOneOutput); gameCounter.AddComponent(playerTwoOutput); DisplayLayer.AddGameObject(gameCounter); var debugHelper = new GameObject("DebugHelper", new Vector2(xPosition - 100, yPosition * 2)); var collisionDetection = new TextComponent(FontGraphics.DigifontFont_16X16, DebugFunc); debugHelper.AddComponent(collisionDetection); DisplayLayer.AddGameObject(debugHelper); }
protected override void LoadDisplay() { var textX = GameHelper.GetRelativeScaleX(0.2f); var textY = GameHelper.GetRelativeScaleY(0.9f); var playerOne = new GameObject("Text", new Vector2(textX, textY)); var textOne = new TextComponent(FontGraphics.BloxxitFont_8X8, "PRESS SPACE"); var actionOne = new KeyboardActionComponent(Keys.Space, CreatePlayerOne); playerOne.AddComponent(textOne); playerOne.AddComponent(actionOne); DisplayLayer.AddGameObject(playerOne); var playerTwo = new GameObject("Text", new Vector2(textX * 2, textY)); var textTwo = new TextComponent(FontGraphics.BloxxitFont_8X8, "PRESS A GAMEPAD"); var actionTwo = new ButtonActionComponent(Buttons.A, CreatePlayerTwo); playerTwo.AddComponent(textTwo); playerTwo.AddComponent(actionTwo); DisplayLayer.AddGameObject(playerTwo); var playerThree = new GameObject("Text", new Vector2(textX * 3, textY)); var textThree = new TextComponent(FontGraphics.BloxxitFont_8X8, "PRESS ENTER"); var actionThree = new KeyboardActionComponent(Keys.Enter, CreatePlayerThree); playerThree.AddComponent(textThree); playerThree.AddComponent(actionThree); DisplayLayer.AddGameObject(playerThree); var foam = new[] { CommonGraphics.TransparentCubeAsset, CommonGraphics.WhiteCubeAsset, CommonGraphics.BlueCubeAsset, CommonGraphics.LightBlueCubeAsset }; var waveManager = new WaveManager(foam, BackgroundLayer, ForegroundLayer, _waveHeight, _waveTopY, _waveSpeed); DisplayLayer.Managers.Add(waveManager); }
private void CreatePlayerTwo(Vector2 startPosition) { var player = new GameObject("PlayerTwoSelection", new Vector2(10, 10) + startPosition); var playerText = new TextComponent(FontGraphics.PropertialFont_8X8, "PLAYER TWO"); var startText = new TextComponent(FontGraphics.PropertialFont_8X8, "PRESS TAB TO START", new Vector2(0, 100)); var counter = new CounterComponent(ObjectEvent.PreviousCharacter, ObjectEvent.NextCharacter, 0, _playerCharacters.Count() - 1); var sprites = new SpriteMappingsComponent(RpgGraphics.GameboySpriteMapping, _playerCharacters, new Vector2(10, 50), counter); var nextCharacter = new KeyboardEventComponent(Keys.D, ObjectEvent.NextCharacter); var previousCharacter = new KeyboardEventComponent(Keys.A, ObjectEvent.PreviousCharacter); var action = new KeyboardActionComponent(Keys.Tab, Action); player.AddComponent(playerText); player.AddComponent(startText); player.AddComponent(counter); player.AddComponent(sprites); player.AddComponent(nextCharacter); player.AddComponent(previousCharacter); player.AddComponent(action); DisplayLayer.AddGameObject(player); }
protected override void LoadDisplay() { var xCentre = GameHelper.GetRelativeScaleX(0.5f); var yCentre = GameHelper.GetRelativeScaleY(0.5f); var xOffset = GameHelper.GetRelativeScaleX(0.1f); var yOffset = GameHelper.GetRelativeScaleX(0.1f); var display = new GameObject("Title", new Vector2(xCentre, yCentre)); var font = FontGraphics.PropertialFont_8X8; var textSimpleRpg = new TextComponent(font, "DEFENDER", new Vector2(-xOffset, -yOffset), 2); var textEnter = new TextComponent(font, "PRESS ENTER", new Vector2(-xOffset - 10, yOffset), 2); var icon1 = new SpriteComponent(SpaceGraphics.PlayerShipAsset.First(), new Vector2(-xOffset * 2, 0)); var icon2 = new SpriteComponent(SpaceGraphics.EnemyShipAsset.First(), new Vector2(xOffset * 2, 0)); var action = new KeyboardActionComponent(Keys.Enter, Action); display.AddComponent(textSimpleRpg); display.AddComponent(textEnter); display.AddComponent(icon1); display.AddComponent(icon2); display.AddComponent(action); DisplayLayer.AddGameObject(display); }