private void DisplayWinner(GameObject winner) { var blackTex = @"Contents\UI\Winners\blackWinsText.png"; var purpleTex = @"Contents\UI\Winners\purpleWinsText.png"; var car = winner as Car; if (car != null) { switch (car.id) { case "Black": EngineCore.AddGameObject(new UIElement(blackTex, new Vector2(0f, 0f))); EndGame(); break; case "Purple": EngineCore.AddGameObject(new UIElement(purpleTex, new Vector2(0f, 0f))); EndGame(); break; default: throw new Exception("There is nothing to display."); } } }
private void AddPrizeOnScene() { var rand = new Random(); var prize = GeneratePrize(rand, GetPrizePosition(rand)); if (prize != null) { EngineCore.AddGameObject(prize); } }
/// <summary> /// Default ctor. /// </summary> public UIHandler() { SubscribeOnPlayers(); // Add info ui elements. EngineCore.AddGameObject(new UIText("lapsBlack", new Vector2(-355, -208), new Vector2(1.05f, 1.05f))); EngineCore.AddGameObject(new UIText("lapsPurple", new Vector2(505, -208), new Vector2(1.05f, 1.05f))); EngineCore.AddGameObject(new UIText("fuelBlack", new Vector2(-388, -147), new Vector2(1.05f, 1.05f))); EngineCore.AddGameObject(new UIText("fuelPurple", new Vector2(474, -147), new Vector2(1.05f, 1.05f))); }
/// <summary> /// Sets decorator life time period in a timer. /// </summary> /// <param name="baseProps"></param> public CarPropsDecorator(CarProps baseProps) : base(baseProps.owner) { this.baseProps = baseProps; base.owner = baseProps.owner; this.lifeTimer = new GameTimer(3f); this.lifeTimer.Elapsed += (sender, e) => RemoveDecorator(); EngineCore.AddGameObject(this); }
/// <summary> /// Default ctor. /// </summary> /// <param name="backgroundPath"></param> public Environment(string backgroundPath) { spriteRenderer = (SpriteRenderer)AddComponent("SpriteRenderer"); base.Position = new Vector2(0f, 0f); var bgTexture = ContentLoader.LoadTexture(backgroundPath); var bgSprite = new Sprite(bgTexture, Position, new Vector2(1f, 1f), new Vector2(0f, 0f), -1); spriteRenderer.RenderQueue = SpriteBatch.CreateSpriteBatch(bgSprite); // Middle collider. base.collider = new PolyCollider(this, new Vector2(1310f, 480f)); // Add screen bounds. EngineCore.AddGameObject(new Bound(new Vector2(-945f, 0f), new Vector2(20f, 1080f))); EngineCore.AddGameObject(new Bound(new Vector2(945f, 0f), new Vector2(20f, 1080f))); EngineCore.AddGameObject(new Bound(new Vector2(0f, 525f), new Vector2(1920f, 20f))); EngineCore.AddGameObject(new Bound(new Vector2(0f, -525f), new Vector2(1920f, 20f))); }
private void GO_Click(object sender, EventArgs e) { this.Hide(); using (var racingGame = new EngineCore(false)) { EngineCore.AddGameObject(new Racing.Objects.Environment(@"Contents\Environment\bg_ui_v2.png")); EngineCore.AddGameObject(new FinishLine()); EngineCore.AddGameObject(new OuterFinishLine()); EngineCore.AddGameObject(new PurpleCar()); EngineCore.AddGameObject(new BlackCar()); EngineCore.AddGameObject(new PrizeGenerator()); EngineCore.AddGameObject(new UIHandler()); racingGame.Title = "Retro Race"; racingGame.Icon = new Icon(@"Resources\icon32.ico"); racingGame.WindowBorder = OpenTK.WindowBorder.Fixed; racingGame.WindowState = OpenTK.WindowState.Maximized; racingGame.Run(); } Application.Exit(); }