Пример #1
0
        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.");
                }
            }
        }
Пример #2
0
        private void AddPrizeOnScene()
        {
            var rand  = new Random();
            var prize = GeneratePrize(rand, GetPrizePosition(rand));

            if (prize != null)
            {
                EngineCore.AddGameObject(prize);
            }
        }
Пример #3
0
        /// <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);
        }
Пример #5
0
        /// <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();
        }