SmartboyDevelopments.Haxxit.MonoGame.GameStates.TutorialState.Draw C# (CSharp) Method

Draw() public method

public Draw ( SpriteBatch sprite_batch ) : void
sprite_batch Microsoft.Xna.Framework.Graphics.SpriteBatch
return void
        public override void Draw(SpriteBatch sprite_batch)
        {
            display_map_state.Draw(sprite_batch);
            //sprite_batch.Draw(blankTexture, displayOutterEdgeRect, Color.Silver * .75f);
            //sprite_batch.Draw(blankTexture, displayRect, Color.Black * .75f);
            if (mPlayer1Tutorial.SpawnTutorial == true)
            {
                String box1 = "Purple squares represent locations that you can spawn units in, left click on them to spawn a program.";
                String box2 = "You can see where the enemy units begin the game, they are represented by icons that look like this.";
                String box3 = "When spawning units you must also take into account the spawn weights, each map has a spawn weight limit and each program has a spawn weight, your spawned units must be equal to or less than the spawn weight.";
                sprite_batch.Draw(blankTexture, tutorialEdgeRect1, Color.Silver * .75f);
                sprite_batch.Draw(blankTexture, tutorialRect1, Color.Black * .75f);
                sprite_batch.Draw(blankTexture, tutorialEdgeRect2, Color.Silver * .75f);
                sprite_batch.Draw(blankTexture, tutorialRect2, Color.Black * .75f);
                sprite_batch.Draw(blankTexture, tutorialEdgeRect3, Color.Silver * .75f);
                sprite_batch.Draw(blankTexture, tutorialRect3, Color.Black * .75f);
                String temp1;
                String temp2;
                String temp3;
                temp1 = WrapText(ArialFontSize12, box1, tutorialRect1.Width);
                temp2 = WrapText(ArialFontSize12, box2, tutorialRect2.Width);
                temp3 = WrapText(ArialFontSize12, box3, tutorialRect3.Width);
                sprite_batch.DrawString(ArialFontSize12, temp1, new Vector2(tutorialRect1.X, tutorialRect1.Y + 5), Color.White);
                sprite_batch.DrawString(ArialFontSize12, temp2, new Vector2(tutorialRect2.X, tutorialRect2.Y + 5), Color.White);
                sprite_batch.DrawString(ArialFontSize12, temp3, new Vector2(tutorialRect3.X, tutorialRect3.Y + 5), Color.White);
                PrimiviteDrawing.DrawLineSegment(blankTexture, sprite_batch, new Vector2(tutorialEdgeRect1.Center.X, tutorialEdgeRect1.Top),
                    new Vector2(40, 120), Color.Gold, 5);
                PrimiviteDrawing.DrawLineSegment(blankTexture, sprite_batch, new Vector2(tutorialEdgeRect2.Left, tutorialEdgeRect2.Center.Y),
                    new Vector2(260, 160), Color.Gold, 5);

            }
            else if (mPlayer1Tutorial.CurrentNode == "Node1")
            {
                String box1 = "Left click on your units to move them to an adjacent square or to use one of their abilites or attacks.";
                String box2 = "Left clicking on enemy units will show how many moves they have and what attack and abilites they can use.";
                String box3 = "The objective of this level is to wipe out all enemy units, move your programs around the map to get them into range to defeat the enemy program.";
                String box4 = "When a program is selected, their attacks and abilities will be displayed up here.";
                sprite_batch.Draw(blankTexture, tutorialEdgeRect1, Color.Silver * .75f);
                sprite_batch.Draw(blankTexture, tutorialRect1, Color.Black * .75f);
                sprite_batch.Draw(blankTexture, tutorialEdgeRect2, Color.Silver * .75f);
                sprite_batch.Draw(blankTexture, tutorialRect2, Color.Black * .75f);
                sprite_batch.Draw(blankTexture, tutorialEdgeRect3, Color.Silver * .75f);
                sprite_batch.Draw(blankTexture, tutorialRect3, Color.Black * .75f);
                sprite_batch.Draw(blankTexture, tutorialEdgeRect4, Color.Silver * .75f);
                sprite_batch.Draw(blankTexture, tutorialRect4, Color.Black * .75f);
                String temp1;
                String temp2;
                String temp3;
                String temp4;
                temp1 = WrapText(ArialFontSize12, box1, tutorialRect1.Width);
                temp2 = WrapText(ArialFontSize12, box2, tutorialRect2.Width);
                temp3 = WrapText(ArialFontSize12, box3, tutorialRect3.Width);
                temp4 = WrapText(ArialFontSize12, box4, tutorialRect4.Width);
                sprite_batch.DrawString(ArialFontSize12, temp1, new Vector2(tutorialRect1.X, tutorialRect1.Y + 5), Color.White);
                sprite_batch.DrawString(ArialFontSize12, temp2, new Vector2(tutorialRect2.X, tutorialRect2.Y + 5), Color.White);
                sprite_batch.DrawString(ArialFontSize12, temp3, new Vector2(tutorialRect3.X, tutorialRect3.Y + 5), Color.White);
                sprite_batch.DrawString(ArialFontSize12, temp4, new Vector2(tutorialRect4.X, tutorialRect4.Y + 5), Color.White);
                PrimiviteDrawing.DrawLineSegment(blankTexture, sprite_batch, new Vector2(tutorialEdgeRect1.Center.X, tutorialEdgeRect1.Top),
                    new Vector2(40, 120), Color.Gold, 5);
                PrimiviteDrawing.DrawLineSegment(blankTexture, sprite_batch, new Vector2(tutorialEdgeRect2.Left, tutorialEdgeRect2.Center.Y),
                    new Vector2(260, 160), Color.Gold, 5);
                PrimiviteDrawing.DrawLineSegment(blankTexture, sprite_batch, new Vector2(tutorialEdgeRect4.Center.X, tutorialEdgeRect4.Top),
                    new Vector2(760, 50), Color.Gold, 5);
            }
            else if (mPlayer1Tutorial.CurrentNode == "Node2")
            {
                String box1 = "Get a program to this node to retrieve the data and beat the level.";
                String box2 = "Use Memman's fix ability to create new map cells to be able to reach the data on the other side.";
                String box3 = "Move a program onto a node containing silicoins to earn extra silicions to purchase more programs.";
                sprite_batch.Draw(blankTexture, tutorialEdgeRect4, Color.Silver * .75f);
                sprite_batch.Draw(blankTexture, tutorialRect4, Color.Black * .75f);
                sprite_batch.Draw(blankTexture, tutorialEdgeRect5, Color.Silver * .75f);
                sprite_batch.Draw(blankTexture, tutorialRect5, Color.Black * .75f);
                sprite_batch.Draw(blankTexture, tutorialEdgeRect6, Color.Silver * .75f);
                sprite_batch.Draw(blankTexture, tutorialRect6, Color.Black * .75f);
                String temp1;
                String temp2;
                String temp3;
                temp1 = WrapText(ArialFontSize12, box1, tutorialRect4.Width);
                temp2 = WrapText(ArialFontSize12, box2, tutorialRect5.Width);
                temp3 = WrapText(ArialFontSize12, box3, tutorialRect6.Width);
                sprite_batch.DrawString(ArialFontSize12, temp1, new Vector2(tutorialRect4.X, tutorialRect4.Y + 5), Color.White);
                sprite_batch.DrawString(ArialFontSize12, temp2, new Vector2(tutorialRect5.X, tutorialRect5.Y + 5), Color.White);
                sprite_batch.DrawString(ArialFontSize12, temp3, new Vector2(tutorialRect6.X, tutorialRect6.Y + 5), Color.White);
                PrimiviteDrawing.DrawLineSegment(blankTexture, sprite_batch, new Vector2(tutorialEdgeRect5.Center.X, tutorialEdgeRect5.Top),
                    new Vector2(150, 120), Color.Gold, 5);

                PrimiviteDrawing.DrawLineSegment(blankTexture, sprite_batch, new Vector2(tutorialEdgeRect4.Left, tutorialEdgeRect4.Center.Y),
                    new Vector2(410, 160), Color.Gold, 5);

                PrimiviteDrawing.DrawLineSegment(blankTexture, sprite_batch, new Vector2(tutorialEdgeRect6.Left, tutorialEdgeRect6.Center.Y),
                    new Vector2(260, 260), Color.Gold, 5);

            }
            overlay.Draw(sprite_batch);
            String temp;
            temp = WrapText(ArialFontSize12, storyString, displayRect.Width);
            //sprite_batch.DrawString(ArialFontSize12, temp, new Vector2(displayRect.X, displayRect.Y + 5), Color.White);
            //continue button
            if (isContinueButtonClicked)
            {
                sprite_batch.Draw(buttonPressed, ContinueButtonRect, Color.White);
            }
            else
            {
                sprite_batch.Draw(buttonReleased, ContinueButtonRect, Color.White);
            }
            sprite_batch.DrawString(storyStringSpriteFont, ContinueButtonString, ContinueButtonStringPos + (Vector2.One * 2), Color.Black);
            sprite_batch.DrawString(storyStringSpriteFont, ContinueButtonString, ContinueButtonStringPos, Color.White);
        }