Example #1
0
        public void Init(Engine engine)
        {
            winHeight = Engine.WinHeight;
            winWidth  = Engine.WinWidth;
            clicked   = false;
            reached   = false;
            text1     = new GDIStaticText("Hello Comrade", "Baskerville Old Face", 50, Brushes.White, new PointF(0, winHeight), true);
            text2     = new GDIStaticText("Which country do you wanna destroy today?", "Baskerville Old Face", 40, Brushes.White, new PointF(0, winHeight), true);
            text3     = new GDIStaticText("OK", "Baskerville Old Face", 60, Brushes.White, new PointF(0, winHeight), true);
            options   = new List <GDISelectableOption>();
            option1   = new GDISelectableOption("a:) USA[imperialists]", "Arial", 40, Brushes.White, new PointF(0, winHeight), ref options, true);
            options.Add(option1);
            option2 = new GDISelectableOption("b:) Germany[Nazis]", "Arial", 40, Brushes.White, new PointF(0, winHeight), ref options, true);
            options.Add(option2);
            for (int i = 0; i < options.Count; i++)
            {
                options[i].Position = new PointF(0, winHeight - ((options.Count - i) * options[i].Height));
            }

            if (winWidth == 1920 && winHeight == 1080)
            {
                missileShootStartPosition      = missileShootStartPosition_1920x1080;
                missileShootEndPositionUSA     = missileShootEndPositionUSA_1920x1080;
                missileShootEndPositionGermany = missileShootEndPositionGermany_1920x1080;
                missileShootTolerance          = missileShootToleranceOriginal;
            }
            else if (winWidth == 1366 && winHeight == 768)
            {
                missileShootStartPosition      = missileShootStartPosition_1366x768;
                missileShootEndPositionUSA     = missileShootEndPositionUSA_1366x768;
                missileShootEndPositionGermany = missileShootEndPositionGermany_1366x768;
                missileShootTolerance          = missileShootToleranceOriginal;
            }
            else if (winWidth == 1024 && winHeight == 768)
            {
                missileShootStartPosition      = missileShootStartPosition_1024x768;
                missileShootEndPositionUSA     = missileShootEndPositionUSA_1024x768;
                missileShootEndPositionGermany = missileShootEndPositionGermany_1024x768;
                missileShootTolerance          = missileShootTolerance_1920x1080;
            }
            else
            {
                missileShootStartPosition      = missileShootStartPositionOriginal;
                missileShootEndPositionUSA     = missileShootEndPositionUSAOriginal;
                missileShootEndPositionGermany = missileShootEndPositionGermanyOriginal;
                missileShootTolerance          = missileShootToleranceOriginal;
            }

            missile = new Sprite(Resources.missile, missileShootStartPosition, missileShootTolerance, 0.8f);
            missile.SetSteering(new SpriteAxisMovement(0, 1, missileShootStartPosition, 10));
            missile.DestReached += Sprite_DestReached;

            option1.MouseClicked += Option1_MouseClicked;
            option2.MouseClicked += Option2_MouseClicked;
            this.engine           = engine;
        }
Example #2
0
        public void Init(Engine engine)
        {
            winHeight = Engine.WinHeight;
            winWidth  = Engine.WinWidth;

            text1 = new GDIStaticText("准备", "Baskerville Old Face", 50, Brushes.White, new PointF(0, winHeight), true);
            text2 = new GDIStaticText("Go!", "Baskerville Old Face", 40, Brushes.White, new PointF(0, winHeight), true);
            text3 = new GDIStaticText("请选择!", "Baskerville Old Face", 40, Brushes.White, new PointF(0, winHeight), true);
            text4 = new GDIStaticText("答错了!", "Baskerville Old Face", 40, Brushes.Red, new PointF(0, winHeight), true);
            text5 = new GDIStaticText("回答正确!", "Baskerville Old Face", 40, Brushes.Green, new PointF(0, winHeight), true);

            box1         = new GDISpriteButton(Resources.box_1, Resources.box_1_hover, new PointF(0.15f, 0.6f));
            box2         = new GDISpriteButton(Resources.box_2, Resources.box_2_hover, new PointF(0.35f, 0.6f));
            box3         = new GDISpriteButton(Resources.box_3, Resources.box_3_hover, new PointF(0.55f, 0.6f));
            box4         = new GDISpriteButton(Resources.box_4, Resources.box_4_hover, new PointF(0.75f, 0.6f));
            box1.Metrics = UIMetrics.Relative;
            box2.Metrics = UIMetrics.Relative;
            box3.Metrics = UIMetrics.Relative;
            box4.Metrics = UIMetrics.Relative;

            txtScoreLabel         = new GDIStaticText("分数:", "Baskerville Old Face", 55, Brushes.White, new PointF(0.7f, 0.12f), false, AlignMethod.FLOATING);
            txtScoreValue         = new GDIStaticText("--", "Baskerville Old Face", 55, Brushes.White, new PointF(0.85f, 0.12f), false, AlignMethod.FLOATING);
            txtScoreLabel.Metrics = UIMetrics.Relative;
            txtScoreValue.Metrics = UIMetrics.Relative;

            txtGarbageCurrent       = new GDIStaticText("当前:", "Baskerville Old Face", 55, Brushes.White, new PointF(94, 90), false, AlignMethod.FLOATING);
            txtGarbageCurrentAnswer = new GDIStaticText("答案:", "Baskerville Old Face", 50, Brushes.White, new PointF(94, 200), false, AlignMethod.FLOATING);


            box1.MouseClicked += Box1_MouseClicked;
            box2.MouseClicked += Box2_MouseClicked;
            box3.MouseClicked += Box3_MouseClicked;
            box4.MouseClicked += Box4_MouseClicked;

            engine.GameObjects.Add(box1);
            engine.GameObjects.Add(box2);
            engine.GameObjects.Add(box3);
            engine.GameObjects.Add(box4);
            engine.GameObjects.Add(txtScoreLabel);
            engine.GameObjects.Add(txtScoreValue);

            ConsoleCommandManager.Instance.AddConsoleCommand(new CheatShowAnswerConsoleCommand());
            ConsoleCommandManager.Instance.AddConsoleCommand(new EnableCheatConsoleCommand());
        }