Пример #1
0
        private void WriteText(SpriteBatch spriteBatch)
        {
            spriteBatch.DrawString(icelandFont, "Name: " + level.GetName(), new Vector2(screenW - 250, screenH - 95), Color.Black);

            spriteBatch.DrawString(icelandFont, "Level width: " + level.GetWidthInPixels(), new Vector2(screenW - 250, widthButtonPos.Y), Color.Black);
            spriteBatch.DrawString(icelandFont, "Level duration: " + level.GetLevelDuration(), new Vector2(screenW - 250, durationButtonPos.Y), Color.Black);

            spriteBatch.DrawString(icelandFont, "Grid width: " + level.GetPointGridWidth(), new Vector2(screenW - 250, gridWidthPos.Y - 20), Color.Black);
            spriteBatch.DrawString(icelandFont, "Grid height: " + level.GetPointGridHeight(), new Vector2(screenW - 250, gridHeightPos.Y - 20), Color.Black);
            spriteBatch.DrawString(icelandFont, "Duration width: " + level.GetDurationGridWidth(), new Vector2(screenW - 250, durationWidthPos.Y), Color.Black);

            spriteBatch.DrawString(icelandFont, "View: " + (level.GetViewFrame() + 1) + "/" + (level.GetViewFrameMax() + 1), new Vector2(screenW - 250, screenH - 320), Color.Black);
            spriteBatch.DrawString(icelandFont, "Test start at: " + level.GetTestStartTime(), new Vector2(screenW - 250, startTimeButtonPos.Y), Color.Black);

            spriteBatch.DrawString(icelandFont, "Objective: " + level.GetObjectiveDisplayString(), new Vector2(360, levelObjectivePos.Y), Color.Black);

            if (targetedSquare != null)
            {
                targetedSquare.DrawInfo(spriteBatch, icelandFont, new Vector2(600, 600));
            }

            targetedSquare = null;
        }
Пример #2
0
        public MapCreatorGUI(Game1 game, Sprite spriteSheet, LevelMechanics level)
        {
            this.game        = game;
            this.spriteSheet = spriteSheet;
            this.level       = level;

            font        = game.Content.Load <SpriteFont>("Fonts/MCSmallFont");
            font8       = game.Content.Load <SpriteFont>("Fonts/MCfont8");
            icelandFont = game.Content.Load <SpriteFont>("Fonts/Iceland_14");

            staticFontExperiment   = game.Content.Load <SpriteFont>("Fonts/Iceland_14");
            staticSpriteExperiment = new Sprite(game.Content.Load <Texture2D>("MapCreator/MapCreatorSpriteSheet"));

            screenW = Game1.ScreenSize.X;
            screenH = Game1.ScreenSize.Y;

            #region regularButtons
            buttons = new List <MapCreatorButton>();

            Vector2 quitpos = new Vector2(screenW - 90, screenH - 60);
            buttons.Add(new QuitApplicationButton(spriteSheet, quitpos));
            Vector2         savepos = new Vector2(screenW - 170, screenH - 60);
            SaveLevelButton save    = new SaveLevelButton(game, spriteSheet, savepos);
            buttons.Add(save);
            Vector2 loadpos = new Vector2(screenW - 250, screenH - 60);
            buttons.Add(new LoadLevelButton(game, spriteSheet, loadpos));
            Vector2 editpos = new Vector2(screenW - 90, screenH - 100);
            buttons.Add(new EditNameButton(game, spriteSheet, editpos));
            Vector2 clearpos = new Vector2(screenW - 90, screenH - 140);
            buttons.Add(new ClearGridButton(game, spriteSheet, clearpos));
            Vector2 runpos = new Vector2(screenW - 90, screenH - 180);
            buttons.Add(new RunLevelButton(spriteSheet, runpos));

            levelObjectivePos = new Vector2(550, screenH - 75);
            buttons.Add(new SetLevelObjectiveButton(spriteSheet, levelObjectivePos));

            gridWidthPos = new Vector2(screenW - 250, screenH - 175);
            Vector2 gridWidthBigMinusPos = gridWidthPos;
            buttons.Add(new GridWidthIncrButton(game, spriteSheet, gridWidthBigMinusPos, IncrementalType.largeNegative));
            Vector2 gridWidthSmallMinusPos = new Vector2(gridWidthPos.X + 30, gridWidthPos.Y);
            buttons.Add(new GridWidthIncrButton(game, spriteSheet, gridWidthSmallMinusPos, IncrementalType.smallNegative));
            Vector2 gridWidthSmallPlusPos = new Vector2(gridWidthPos.X + 60, gridWidthPos.Y);
            buttons.Add(new GridWidthIncrButton(game, spriteSheet, gridWidthSmallPlusPos, IncrementalType.smallPositive));
            Vector2 gridWidthBigPlusPos = new Vector2(gridWidthPos.X + 90, gridWidthPos.Y);
            buttons.Add(new GridWidthIncrButton(game, spriteSheet, gridWidthBigPlusPos, IncrementalType.largePositive));

            gridHeightPos = new Vector2(screenW - 250, screenH - 125);
            Vector2 gridHeightBigMinusPos = gridHeightPos;
            buttons.Add(new GridHeightIncrButton(game, spriteSheet, gridHeightBigMinusPos, IncrementalType.largeNegative));
            Vector2 gridHeightSmallMinusPos = new Vector2(gridHeightPos.X + 30, gridHeightPos.Y);
            buttons.Add(new GridHeightIncrButton(game, spriteSheet, gridHeightSmallMinusPos, IncrementalType.smallNegative));
            Vector2 gridHeightSmallPlusPos = new Vector2(gridHeightPos.X + 60, gridHeightPos.Y);
            buttons.Add(new GridHeightIncrButton(game, spriteSheet, gridHeightSmallPlusPos, IncrementalType.smallPositive));
            Vector2 gridHeightBigPlusPos = new Vector2(gridHeightPos.X + 90, gridHeightPos.Y);
            buttons.Add(new GridHeightIncrButton(game, spriteSheet, gridHeightBigPlusPos, IncrementalType.largePositive));

            durationWidthPos = new Vector2(screenW - 80, screenH - 225);
            Vector2 durationWidthMinus = durationWidthPos;
            buttons.Add(new DurationWidthIncrButton(game, spriteSheet, durationWidthMinus, IncrementalType.smallNegative));
            Vector2 durationWidthPlus = new Vector2(durationWidthPos.X - 20, durationWidthPos.Y);
            buttons.Add(new DurationWidthIncrButton(game, spriteSheet, durationWidthPlus, IncrementalType.smallPositive));

            gridViewPos = new Vector2(screenW - 50, screenH - 329);
            Vector2 changeGridViewUpPos = gridViewPos;
            buttons.Add(new ChangeGridViewButton(game, spriteSheet, changeGridViewUpPos, IncrementalType.upArrow));
            Vector2 changeGridViewDownPos = new Vector2(gridViewPos.X + 25, gridViewPos.Y);
            buttons.Add(new ChangeGridViewButton(game, spriteSheet, changeGridViewDownPos, IncrementalType.downArrow));

            widthButtonPos = new Vector2(screenW - 80, screenH - 270);
            buttons.Add(new WidthInPixelsButton(spriteSheet, widthButtonPos, level.GetWidthInPixels()));
            durationButtonPos = new Vector2(screenW - 80, screenH - 250);
            buttons.Add(new DurationButton(spriteSheet, durationButtonPos, level.GetLevelDuration()));
            startTimeButtonPos = new Vector2(screenW - 80, screenH - 290);
            buttons.Add(new StartTimeButton(spriteSheet, startTimeButtonPos));

            foreach (MapCreatorButton button in buttons)
            {
                button.Initialize();
            }
            #endregion

            buttonPinger = new ButtonPinger(game, buttons);

            actions     = new List <Action>();
            deadActions = new List <Action>();

            equipInfoString = "";
        }