public void DrawHUD(CustomSpriteBatch g, bool IsInEditMode, bool ShowBorderBoxes, bool ShowNextPositions)
        {
            g.Begin(SpriteSortMode.Immediate, BlendState.AlphaBlend, SamplerState.LinearClamp, DepthStencilState.None, RasterizerState.CullCounterClockwise);

            DrawBox(g, new Vector2(0, 0), Width / 2, 84, Color.Red);
            int PosX = 0;

            DrawBar(g, sprBarExtraLargeBackground, sprBarExtraLargeHP, new Vector2(PosX + 75, 30), 100, 100);
            DrawBar(g, sprBarExtraLargeBackground, sprBarExtraLargeEN, new Vector2(PosX + 75, 50), 100, 100);
            g.DrawString(fntFinlanderFont, "HP", new Vector2(PosX + 40, 20), Color.Yellow);
            g.DrawStringRightAligned(fntFinlanderFont, "5000/5000", new Vector2(PosX + 242, 17), Color.White);
            g.DrawString(fntFinlanderFont, "EN", new Vector2(PosX + 40, 40), Color.Yellow);
            g.DrawStringRightAligned(fntFinlanderFont, "200/200", new Vector2(PosX + 242, 37), Color.White);
            g.Draw(sprPixel, new Rectangle(PosX + 7, 30, 32, 32), Color.White);

            PosX = Width / 2 + 68;
            DrawBox(g, new Vector2(Width / 2, 0), Width / 2, 84, Color.Blue);
            DrawBar(g, sprBarExtraLargeBackground, sprBarExtraLargeHP, new Vector2(PosX + 75, 30), 100, 100);
            DrawBar(g, sprBarExtraLargeBackground, sprBarExtraLargeEN, new Vector2(PosX + 75, 50), 100, 100);
            g.DrawString(fntFinlanderFont, "HP", new Vector2(PosX + 40, 20), Color.Yellow);
            g.DrawStringRightAligned(fntFinlanderFont, "5000/5000", new Vector2(PosX + 242, 17), Color.White);
            g.DrawString(fntFinlanderFont, "EN", new Vector2(PosX + 40, 40), Color.Yellow);
            g.DrawStringRightAligned(fntFinlanderFont, "200/200", new Vector2(PosX + 242, 37), Color.White);
            g.Draw(sprPixel, new Rectangle(PosX + 7, 30, 32, 32), Color.White);
            g.Draw(sprInfinity, new Vector2((Width - sprInfinity.Width) / 2, 15), Color.White);

            DrawBox(g, new Vector2(0, Height - VNBoxHeight), Width, VNBoxHeight, Color.White);

            g.End();
        }
示例#2
0
        private void DrawSpirits(CustomSpriteBatch g, float X, float Y, bool IsBeginDraw)
        {
            if (NeedToScrollSpirits && !IsBeginDraw)
            {
                g.Draw(RenderTargetSpirits, new Vector2(X, Y), Color.White);
            }
            else
            {
                for (int i = 0; i < Pilot.ArrayPilotSpirit.Length; ++i)
                {
                    if (Pilot.ArrayPilotSpirit[i].IsUnlocked)
                    {
                        Color DrawColor = Color.White;

                        if (!ArrayOriginalPilotSpirit[i])
                        {
                            DrawColor = Color.LightGreen;
                        }

                        g.DrawString(fntFinlanderFont, Pilot.ArrayPilotSpirit[i].Name, new Vector2(X, Y + i * 25), DrawColor);
                    }
                    else
                    {
                        g.DrawString(fntFinlanderFont, "---", new Vector2(X, Y + i * 25), Color.White);
                    }
                }
            }
        }
示例#3
0
        public override void Draw(CustomSpriteBatch g)
        {
            g.Draw(sprBackground, Vector2.Zero, Color.White);
            if (RoomType == RoomInformations.RoomTypeMission)
            {
                g.Draw(sprLicenseAll, new Rectangle(572, 16, 24, 24), new Rectangle(1 * 24, 0, 24, 24), Color.White);
            }
            else
            {
                g.Draw(sprTitleBattle, new Vector2(160, 16), Color.White);
                g.Draw(sprLicenseAll, new Rectangle(572, 16, 24, 24), new Rectangle(2 * 24, 0, 24, 24), Color.White);
            }

            g.DrawString(fntArial12, "Lv." + PlayerManager.OnlinePlayerLevel, new Vector2(610, 17), Color.White);
            g.DrawString(fntArial12, PlayerManager.OnlinePlayerName, new Vector2(670, 15), Color.White);

            g.End();
            g.Begin(SpriteSortMode.Immediate, BlendState.AlphaBlend);

            DrawRooms(g);
            if (OnlineCommunicationClient != null)
            {
                ChatHelper.DrawChat(g, sprTabChat, fntArial12, OnlineCommunicationClient.Chat, ChatInput);
            }
            DrawPlayers(g);

            foreach (IUIElement ActiveButton in ArrayMenuButton)
            {
                ActiveButton.Draw(g);
            }
        }
示例#4
0
        public void DrawUI(CustomSpriteBatch g)
        {
            g.End();
            g.Begin(SpriteSortMode.Immediate, BlendState.AlphaBlend);

            GameScreen.DrawBox(g, new Vector2(0, 0), Width / 2, 84, Color.Red);
            int PosX = 0;

            GameScreen.DrawBar(g, sprBarExtraLargeBackground, sprBarExtraLargeHP, new Vector2(PosX + 75, 30), 100, 100);
            GameScreen.DrawBar(g, sprBarExtraLargeBackground, sprBarExtraLargeEN, new Vector2(PosX + 75, 50), 100, 100);
            g.DrawString(fntFinlanderFont, "HP", new Vector2(PosX + 40, 20), Color.Yellow);
            g.DrawStringRightAligned(fntFinlanderFont, "5000/5000", new Vector2(PosX + 242, 17), Color.White);
            g.DrawString(fntFinlanderFont, "EN", new Vector2(PosX + 40, 40), Color.Yellow);
            g.DrawStringRightAligned(fntFinlanderFont, "200/200", new Vector2(PosX + 242, 37), Color.White);
            g.Draw(GameScreen.sprPixel, new Rectangle(PosX + 7, 30, 32, 32), Color.White);

            PosX = Width / 2 + 68;
            GameScreen.DrawBox(g, new Vector2(Width / 2, 0), Width / 2, 84, Color.Blue);
            GameScreen.DrawBar(g, sprBarExtraLargeBackground, sprBarExtraLargeHP, new Vector2(PosX + 75, 30), 100, 100);
            GameScreen.DrawBar(g, sprBarExtraLargeBackground, sprBarExtraLargeEN, new Vector2(PosX + 75, 50), 100, 100);
            g.DrawString(fntFinlanderFont, "HP", new Vector2(PosX + 40, 20), Color.Yellow);
            g.DrawStringRightAligned(fntFinlanderFont, "5000/5000", new Vector2(PosX + 242, 17), Color.White);
            g.DrawString(fntFinlanderFont, "EN", new Vector2(PosX + 40, 40), Color.Yellow);
            g.DrawStringRightAligned(fntFinlanderFont, "200/200", new Vector2(PosX + 242, 37), Color.White);
            g.Draw(GameScreen.sprPixel, new Rectangle(PosX + 7, 30, 32, 32), Color.White);
            g.Draw(sprInfinity, new Vector2((Width - sprInfinity.Width) / 2, 15), Color.White);

            GameScreen.DrawBox(g, new Vector2(0, Constants.Height - AnimationClass.VNBoxHeight), Width, AnimationClass.VNBoxHeight, Color.White);

            g.End();
            g.Begin(SpriteSortMode.BackToFront, BlendState.AlphaBlend);
        }
示例#5
0
        public override void Draw(CustomSpriteBatch g)
        {
            g.Draw(sprBackground, Vector2.Zero, Color.White);
            g.Draw(sprTeamSeparatorBlue, new Vector2(285, 220), Color.White);
            g.Draw(sprTeamSeparatorRed, new Vector2(55, 220), Color.White);
            g.Draw(sprActivePlayerIcon, new Vector2(570, 11), Color.White);

            DrawNumberRightAligned(g, fntTest, Room.MaxKill, new Vector2(700, 294));
            DrawNumberRightAligned(g, fntTest, Room.MaxGameLengthInMinutes, new Vector2(700, 318));
            g.DrawString(fntText, "Off", new Vector2(643, 355), Color.White);
            DrawNumberRightAligned(g, fntTest, Room.MaxNumberOfPlayer, new Vector2(753, 356));

            g.Draw(sprMapImage, new Vector2(579, 437), Color.White);
            if (Room.MapPath != "Random")
            {
                g.Draw(MapTextOverlay, new Vector2(595, 486), Color.White);
                g.Draw(MapStar, new Vector2(616, 503), Color.White);
                MapLevelCategory.Draw(g, new Vector2(680, 513), Color.White);
                g.Draw(MapStar, new Vector2(740, 503), Color.White);
            }

            foreach (InteractiveButton ActiveButton in ArrayMenuButton)
            {
                ActiveButton.Draw(g);
            }

            if (OnlineCommunicationClient != null)
            {
                ChatHelper.DrawChat(g, sprTabChat, fntText, OnlineCommunicationClient.Chat, ChatInput);
            }

            ModeSelectTextButton.Draw(g);

            g.DrawString(fntText, Room.RoomName, new Vector2(75, 7), Color.White);

            int RedPlayerCount  = 0;
            int BluePlayerCount = 0;

            for (int P = 0; P < Room.ListRoomPlayer.Count; ++P)
            {
                int DrawX = 0;
                int DrawY = 0;

                if (Room.ListRoomPlayer[P].Team == 0)
                {
                    DrawX = 155 + (PlayerInfo.SpriteWidth + 40) * (RedPlayerCount % 2);
                    DrawY = 125 + (RedPlayerCount / 2) * 64;
                    ++RedPlayerCount;
                }
                else if (Room.ListRoomPlayer[P].Team == 1)
                {
                    DrawX = 155 + (PlayerInfo.SpriteWidth + 40) * (BluePlayerCount % 2);
                    DrawY = 275 + (BluePlayerCount / 2) * 64;

                    ++BluePlayerCount;
                }

                DrawPlayerBox(g, DrawX, DrawY, Room.ListRoomPlayer[P], Room.ListRoomPlayer[P].Team == 1 || !Room.UseTeams);
            }
        }
示例#6
0
        protected void BattleSumaryDrawWingmanRight(CustomSpriteBatch g, int DrawX, int DrawY, Unit UnitToDraw, Color HitRateColor)
        {
            DrawBox(g, new Vector2(DrawX, DrawY), 70, 65, Color.Blue);
            DrawBox(g, new Vector2(DrawX + 70, DrawY), 240, 65, Color.Blue);
            g.DrawString(fntFinlanderFont, UnitToDraw.UnitStat.Name, new Vector2(DrawX + 80, DrawY + 5), Color.White);
            g.DrawString(fntFinlanderFont, UnitToDraw.HP.ToString(), new Vector2(DrawX + 80, DrawY + 27), Color.White);

            if (UnitToDraw.BattleDefenseChoice == Unit.BattleDefenseChoices.Attack)
            {
                //Draw the hit rate %.
                g.DrawString(fntFinlanderFont, UnitToDraw.AttackAccuracy, new Vector2(DrawX + 35, DrawY + 19), HitRateColor);
                //Draw the EN cost.
                if (UnitToDraw.CurrentAttack.ENCost > 0)
                {
                    DrawENRemaining(g, DrawX + 70, DrawY, UnitToDraw);
                }
            }
            else if (UnitToDraw.BattleDefenseChoice == Unit.BattleDefenseChoices.Defend)
            {
                g.DrawString(fntFinlanderFont, "DEF", new Vector2(DrawX + 10, DrawY + 17), Color.White);
            }
            else if (UnitToDraw.BattleDefenseChoice == Unit.BattleDefenseChoices.Evade)
            {
                g.DrawString(fntFinlanderFont, "EVA", new Vector2(DrawX + 10, DrawY + 17), Color.White);
            }
        }
        private void DrawPartMenu(CustomSpriteBatch g, bool ShowListPartCursor)
        {
            Unit ActiveUnit = SelectedUnit;

            DrawUnitInfo(g, 0);

            int Y = 5;

            DrawBox(g, new Vector2(325, Y), 310, 315, Color.White);
            g.DrawString(fntFinlanderFont, "REMOVE PART", new Vector2(330, Y), Color.Red);
            g.DrawStringRightAligned(fntFinlanderFont, CurrentPagePart + "/" + PageMaxPart, new Vector2(625, Y), Color.Yellow);
            foreach (PartInfo ActivePart in ListPartInfo)
            {
                if (ActivePart.ActivePart.Quantity > 0)
                {
                    g.DrawString(fntFinlanderFont, ActivePart.ActivePart.Name, new Vector2(330, Y += LineSpacing), Color.White);
                    g.DrawStringRightAligned(fntFinlanderFont, ActivePart.ListUnit.Count + "/" + ActivePart.ActivePart.Quantity, new Vector2(625, Y), Color.White);
                }
                else
                {
                    g.DrawString(fntFinlanderFont, "--------", new Vector2(330, Y += LineSpacing), Color.White);
                    g.DrawStringRightAligned(fntFinlanderFont, "-/-", new Vector2(625, Y), Color.White);
                }
            }
            Y = 305;
            DrawBox(g, new Vector2(325, Y + 20), 310, 150, Color.White);

            if (ShowListPartCursor)
            {
                g.Draw(sprPixel, new Rectangle(330, 10 + CursorIndexListPart * LineSpacing, 300, LineSpacing), Color.FromNonPremultiplied(255, 255, 255, 127));
            }
        }
        private void DrawUnitInfo(CustomSpriteBatch g, int StartX)
        {
            g.DrawString(fntFinlanderFont, SelectedUnit.FullName, new Vector2(StartX + 15, 40), Color.White);
            g.Draw(SelectedUnit.SpriteUnit, new Vector2(StartX + 30, 100), Color.White);

            int Y = 155;

            DrawBox(g, new Vector2(StartX + 10, Y + LineSpacing), 310, 85, Color.White);
            for (int P = 0; P < SelectedUnit.ArrayParts.Length; ++P)
            {
                if (SelectedUnit.ArrayParts[P] != null)
                {
                    g.DrawString(fntFinlanderFont, SelectedUnit.ArrayParts[P].Name, new Vector2(StartX + 15, Y += LineSpacing), Color.White);
                }
                else
                {
                    g.DrawString(fntFinlanderFont, "None", new Vector2(StartX + 15, Y += LineSpacing), Color.White);
                }
            }
            g.Draw(sprPixel, new Rectangle(StartX + 15, 180 + CursorIndexUnitPart * LineSpacing, 300, LineSpacing), Color.FromNonPremultiplied(255, 255, 255, 127));

            Y += 15;
            DrawBox(g, new Vector2(StartX + 10, Y + LineSpacing), 310, 215, Color.White);
            g.DrawString(fntFinlanderFont, "HP", new Vector2(StartX + 15, Y += LineSpacing), Color.White);
            DrawStatChange(g, CurrentMaxHP, SelectedUnit.MaxHP, StartX + 150, Y);
            g.DrawString(fntFinlanderFont, "EN", new Vector2(StartX + 15, Y += LineSpacing), Color.White);
            DrawStatChange(g, CurrentMaxEN, SelectedUnit.MaxEN, StartX + 150, Y);
            g.DrawString(fntFinlanderFont, "Armor", new Vector2(StartX + 15, Y += LineSpacing), Color.White);
            DrawStatChange(g, CurrentMaxArmor, SelectedUnit.Armor, StartX + 150, Y);
            g.DrawString(fntFinlanderFont, "Mobility", new Vector2(StartX + 15, Y += LineSpacing), Color.White);
            DrawStatChange(g, CurrentMaxMobility, SelectedUnit.Mobility, StartX + 150, Y);
            g.DrawString(fntFinlanderFont, "MV", new Vector2(StartX + 15, Y += LineSpacing), Color.White);
            DrawStatChange(g, CurrentMaxMV, SelectedUnit.MaxMovement, StartX + 150, Y);

            g.DrawString(fntFinlanderFont, "Move Type", new Vector2(StartX + 15, Y += LineSpacing), Color.White);
            if (ListTerrainChoices.Contains("Air"))
            {
                g.Draw(sprSky, new Vector2(StartX + 150, Y + 7), Color.White);
            }
            else
            {
                g.Draw(sprLand, new Vector2(StartX + 150, Y + 7), Color.White);
            }

            if (SelectedUnit.ListTerrainChoices.Contains("Air"))
            {
                g.Draw(sprSky, new Vector2(StartX + 230, Y + 7), Color.White);
            }
            else
            {
                g.Draw(sprLand, new Vector2(StartX + 230, Y + 7), Color.White);
            }

            g.DrawString(fntFinlanderFont, "Terrain", new Vector2(StartX + 15, Y += LineSpacing), Color.White);

            DrawTerrainChange(g, "Air", sprSky, StartX + 40, Y + 28);
            DrawTerrainChange(g, "Land", sprLand, StartX + 90, Y + 28);
            DrawTerrainChange(g, "Sea", sprSea, StartX + 140, Y + 28);
            DrawTerrainChange(g, "Space", sprSpace, StartX + 190, Y + 28);
        }
示例#9
0
        public override void DrawPlayers(CustomSpriteBatch g)
        {
            for (int P = 0; P < ActiveMap.ListPlayer.Count; P++)
            {
                g.Draw(GameScreen.sprPixel,
                       new Rectangle((int)ActiveMap.ListPlayer[P].GamePiece.X * ActiveMap.TileSize.X, (int)ActiveMap.ListPlayer[P].GamePiece.Y * ActiveMap.TileSize.Y,
                                     ActiveMap.TileSize.X / 2, ActiveMap.TileSize.Y / 2), Color.FromNonPremultiplied(127, 127, 127, 127));

                g.DrawString(ActiveMap.fntArial12, "P", new Vector2(ActiveMap.ListPlayer[P].GamePiece.X * ActiveMap.TileSize.X + 2, ActiveMap.ListPlayer[P].GamePiece.Y * ActiveMap.TileSize.Y), Color.Red);
            }

            for (int X = MapSize.X - 1; X >= 0; --X)
            {
                for (int Y = MapSize.Y - 1; Y >= 0; --Y)
                {
                    if (ActiveMap.GetTerrain(X, Y, 0).DefendingCreature != null)
                    {
                        g.Draw(GameScreen.sprPixel,
                               new Rectangle((int)X * ActiveMap.TileSize.X + 16, (int)Y * ActiveMap.TileSize.Y,
                                             ActiveMap.TileSize.X / 2, ActiveMap.TileSize.Y / 2), Color.FromNonPremultiplied(127, 127, 127, 127));

                        g.DrawString(ActiveMap.fntArial12, "C", new Vector2(X * ActiveMap.TileSize.X + 2 + 16, Y * ActiveMap.TileSize.Y), Color.Red);
                    }
                }
            }
        }
示例#10
0
        private void DrawMenuItem(CustomSpriteBatch g, int ItemIndex, int X, int Y)
        {
            Unit ActiveUnit        = ListVisibleUnit[ItemIndex];
            int  SelectedUnitIndex = ListSelectedUnit.IndexOf(ActiveUnit);

            g.Draw(GameScreen.sprPixel, new Rectangle(X, Y, 30, 30), Color.Black);
            if (SelectedUnitIndex >= 0)
            {
                g.Draw(GameScreen.sprPixel, new Rectangle(X + 1, Y + 1, 28, 28), Color.Orange);
                g.DrawStringMiddleAligned(fntFinlanderFont, SelectedUnitIndex.ToString(), new Vector2(X + 14, Y), Color.White);
            }
            else
            {
                g.Draw(GameScreen.sprPixel, new Rectangle(X + 1, Y + 1, 28, 28), Color.White);
            }
            g.Draw(ActiveUnit.SpriteMap, new Vector2(X + 30, Y), Color.White);
            g.DrawString(fntFinlanderFont, ActiveUnit.FullName, new Vector2(X + 70, Y), Color.White);
            GameScreen.DrawTextRightAligned(g, ActiveUnit.MaxHP.ToString(), new Vector2(340, Y), Color.White);
            GameScreen.DrawTextRightAligned(g, ActiveUnit.MaxEN.ToString(), new Vector2(400, Y), Color.White);

            if (ActiveUnit.Pilot != null)
            {
                g.DrawString(fntFinlanderFont, ActiveUnit.PilotName, new Vector2(440, Y), Color.White);
                g.DrawStringRightAligned(fntFinlanderFont, ActiveUnit.PilotLevel.ToString(), new Vector2(620, Y), Color.White);
            }
        }
示例#11
0
        private void DrawText(CustomSpriteBatch g, Vector2 Position, string Text)
        {
            //If there's no linked dialogs.
            if (CurrentDialog.ListNextDialog.Count == 0 || ListDialog[CurrentDialog.ListNextDialog[0]].TextPreview == "")
            {
                g.DrawString(fntFinlanderFont, Text, new Vector2(Position.X, Position.Y), Color.White);
            }
            else
            {
                //Draw the text.
                g.DrawString(fntFinlanderFont, Text, new Vector2(Position.X, Position.Y), Color.White);
                //Get the Y position from where to draw the linked Dialogs TextPreview.
                int TextEndY = (int)fntFinlanderFont.MeasureString(CurrentDialog.Text).Y;

                //Draw the linked Dialogs TextPreview.
                for (int i = DialogChoiceMinIndex, D = 0; D < MaxDialogChoice; ++D, ++i)
                {
                    g.Draw(sprPixel, new Rectangle((int)Position.X + 10, (int)Position.Y + 13 + TextEndY + D * 25, 5, 5), Color.Black);
                    g.DrawString(fntFinlanderFont, ListDialog[CurrentDialog.ListNextDialog[i]].TextPreview, new Vector2(Position.X + 20, Position.Y + TextEndY + D * 25), Color.White);
                    if (i == DialogChoice)
                    {
                        g.Draw(sprPixel, new Rectangle((int)Position.X + 20, (int)Position.Y + 5 + TextEndY + D * 25, 400, fntFinlanderFont.LineSpacing), Color.FromNonPremultiplied(255, 255, 255, 100));
                    }
                }
            }
        }
        public static void DrawTextMiddleAligned(CustomSpriteBatch g, string Text, Vector2 Position, Color TextColor)
        {
            int TextWidth = (int)fntShadowFont.MeasureString(Text).X / 2;

            g.DrawString(fntShadowFont, Text, Position, Color.Black, 0, new Vector2(TextWidth, 0), 1, SpriteEffects.None, 1);
            g.DrawString(fntWhiteFont, Text, Position, TextColor, 0, new Vector2(TextWidth, 0), 1, SpriteEffects.None, 0);
        }
示例#13
0
        public override void Draw(CustomSpriteBatch g)
        {
            int   MenuWidth  = (int)(Constants.Width * 0.45);
            int   MenuHeight = (int)(Constants.Height * 0.45);
            float MenuX      = Constants.Width / 2 - MenuWidth / 2;
            float MenuY      = Constants.Height / 2 - MenuHeight / 2;

            DrawBox(g, new Vector2(MenuX, MenuY), MenuWidth, MenuHeight, Color.White);

            DrawBox(g, new Vector2(MenuX, MenuY), MenuWidth, 40, Color.White);
            g.DrawString(fntArial12, "Local Players Mangement", new Vector2(MenuX + 10, MenuY + 10), Color.White);
            g.DrawString(fntArial12, "Name", new Vector2(MenuX + 10, MenuY + 42), Color.White);
            g.DrawString(fntArial12, "Controls", new Vector2(MenuX + 150, MenuY + 42), Color.White);
            g.DrawString(fntArial12, "Profile", new Vector2(MenuX + MenuWidth - 60, MenuY + 42), Color.White);

            for (int P = 0; P < PlayerManager.ListLocalPlayer.Count; P++)
            {
                float ActivePlayerY = MenuY + 75 + P * 40;
                g.DrawString(fntArial12, PlayerManager.ListLocalPlayer[P].Name, new Vector2(MenuX + 10, ActivePlayerY + 5), Color.White);
            }

            DrawBox(g, new Vector2(MenuX, MenuY + MenuHeight), MenuWidth, 40, Color.White);

            foreach (IUIElement ActiveUIElement in ArrayUIElement)
            {
                ActiveUIElement.Draw(g);
            }
        }
示例#14
0
        public override void Draw(CustomSpriteBatch g)
        {
            g.Draw(sprBackground, new Vector2(0, 0), Color.White);
            if (Stage == 0)
            {
                g.Draw(sprRectangle, new Rectangle(320, 40, 320, 440), Color.FromNonPremultiplied(255, 255, 255, 100));
            }
            else if (Stage == 1)
            {
                g.Draw(sprRectangle, new Rectangle(0, 297, 320, 183), Color.FromNonPremultiplied(255, 255, 255, 200));
            }
            //Draw the item list with its filters and get the lowest Y position.
            int Index = 0;
            int Y     = DrawFilter(g, MainFilter, 305, 41, ref Index);

            g.DrawString(fntArial10, "Requirements:", new Vector2(10, 315), Color.White);
            //Item description
            if (CursorFilter.CursorIndex >= 0 && CursorFilter.CursorIndex < CursorFilter.ListItem.Count)
            {
                g.DrawString(fntArial10, CursorFilter.ListItem[CursorFilter.CursorIndex].RelativePath, new Vector2(10, 45), Color.White);
                g.DrawString(fntArial10, '"' + CursorFilter.ListItem[CursorFilter.CursorIndex].RelativePath + '"' + " Blueprint", new Vector2(50, 330), Color.White);
                Blueprint Item = (Blueprint)CursorFilter.ListItem[CursorFilter.CursorIndex];
                for (int i = 0; i < Item.ListRequirement.Count; i++)
                {
                }
            }
        }
示例#15
0
        public override void Draw(CustomSpriteBatch g, int NonDemoAnimationTimer)
        {
            DrawBackgroundBox(g, PositionX, PositionY);

            g.Draw(SharedUnitStats.SharedUnit.SpriteMap, new Vector2(
                       PositionX + 2, PositionY + 8), Color.White);

            if (NonDemoAnimationTimer >= 38)
            {
                g.DrawString(fntNonDemoDamage, DisplayedDamage, new Vector2(
                                 PositionX + 20, PositionY + 5 - 46 + NonDemoAnimationTimer), Color.White);
            }
            else if (NonDemoAnimationTimer >= 30)
            {
                g.DrawString(fntNonDemoDamage, DisplayedDamage, new Vector2(
                                 PositionX + 20, PositionY + 5 - NonDemoAnimationTimer + 30), Color.White);
            }
            else
            {
                g.DrawString(fntNonDemoDamage, DisplayedDamage, new Vector2(
                                 PositionX + 20, PositionY + 5), Color.White);
            }

            if (!sprExplosion.AnimationEnded)
            {
                sprExplosion.Draw(g);
            }
        }
示例#16
0
        private void DrawTerrainChange(CustomSpriteBatch g, string Terrain, Texture2D Sprite, int X, int Y)
        {
            g.Draw(Sprite, new Vector2(X, Y), Color.White);
            g.DrawString(fntFinlanderFont, DicTerrainLetterAttribute[Terrain].ToString(), new Vector2(X + 25, Y + 4), Color.White);

            g.Draw(Sprite, new Vector2(X, Y + 46), Color.White);
            g.DrawString(fntFinlanderFont, SelectedUnit.TerrainLetterAttribute(Terrain).ToString(), new Vector2(X + 25, Y + 50), Color.White);
        }
示例#17
0
        protected void BattleSumaryDrawLeaderRight(CustomSpriteBatch g, int DrawX, int DrawY, Unit UnitToDraw, Color HitRateColor)
        {
            DrawBox(g, new Vector2(DrawX, DrawY), 70, 80, Color.Blue);
            DrawBox(g, new Vector2(DrawX + 70, DrawY), 240, 80, Color.Blue);
            DrawBox(g, new Vector2(DrawX, DrawY + 80), 310, 40, Color.Black);
            DrawBox(g, new Vector2(DrawX, DrawY + 120), 310, 60, Color.Blue);
            g.Draw(UnitToDraw.SpriteMap, new Vector2(DrawX + 76, DrawY + 5), Color.White);
            TextHelper.DrawText(g, UnitToDraw.PilotName, new Vector2(DrawX + 111, DrawY + 3), Color.White);
            TextHelper.DrawText(g, UnitToDraw.UnitStat.Name, new Vector2(DrawX + 111, DrawY + 25), Color.White);
            TextHelper.DrawTextRightAligned(g, "LV: " + UnitToDraw.PilotLevel, new Vector2(DrawX + 300, DrawY + 3), Color.White);
            TextHelper.DrawTextRightAligned(g, "Will: " + UnitToDraw.PilotMorale, new Vector2(DrawX + 300, DrawY + 22), Color.White);

            TextHelper.DrawTextRightAligned(g, "HP", new Vector2(DrawX + 130, DrawY + 43), Color.Yellow);
            TextHelper.DrawTextRightAligned(g, "EN", new Vector2(DrawX + 130, DrawY + 59), Color.Yellow);
            //Draw HP bar
            DrawBar(g, sprBarExtraLargeBackground, sprBarExtraLargeHP, new Vector2(DrawX + 130, DrawY + 46), UnitToDraw.HP, UnitToDraw.MaxHP);
            //Draw EN bar.
            DrawBar(g, sprBarExtraLargeBackground, sprBarExtraLargeEN, new Vector2(DrawX + 130, DrawY + 62), UnitToDraw.EN, UnitToDraw.MaxEN);

            if (UnitToDraw.BattleDefenseChoice == Unit.BattleDefenseChoices.Attack)
            {
                //Draw the hit rate %.
                g.DrawStringMiddleAligned(fntFinlanderFont, UnitToDraw.AttackAccuracy,
                                          new Vector2(DrawX + 35, DrawY + 26), HitRateColor);
                //Draw the Weapon name.
                g.DrawString(fntFinlanderFont, UnitToDraw.CurrentAttack.ItemName, new Vector2(DrawX + 10, DrawY + 85), Color.White);
                //Draw the EN cost.
                if (UnitToDraw.CurrentAttack.ENCost > 0)
                {
                    DrawENRemaining(g, DrawX + 70, DrawY, UnitToDraw);
                }
            }
            else if (UnitToDraw.BattleDefenseChoice == Unit.BattleDefenseChoices.Defend)
            {
                g.DrawString(fntFinlanderFont, "DEF", new Vector2(DrawX + 9, DrawY + 27), Color.White);
            }
            else if (UnitToDraw.BattleDefenseChoice == Unit.BattleDefenseChoices.Evade)
            {
                g.DrawString(fntFinlanderFont, "EVA", new Vector2(DrawX + 5, DrawY + 27), Color.White);
            }

            //Draw HP number.
            TextHelper.DrawTextRightAligned(g, UnitToDraw.HP + "/" + UnitToDraw.MaxHP, new Vector2(DrawX + 299, DrawY + 41), Color.White);
            //Draw EN number.
            TextHelper.DrawTextRightAligned(g, UnitToDraw.EN + "/" + UnitToDraw.MaxEN, new Vector2(DrawX + 299, DrawY + 57), Color.White);

            for (int A = 0; A < 4; A++)
            {
                string TextToDraw = "------";
                if (UnitToDraw.CurrentAttack != null && A < UnitToDraw.CurrentAttack.ArrayAttackAttributes.Length)
                {
                    TextToDraw = UnitToDraw.CurrentAttack.ArrayAttackAttributes[A].Name;
                }
                g.DrawString(fntFinlanderFont, TextToDraw, new Vector2(DrawX + 10 + (A / 2) * 150, DrawY + 125 + (A % 2) * fntFinlanderFont.LineSpacing), Color.White);
            }
        }
示例#18
0
        public override void Draw(CustomSpriteBatch g)
        {
            int DrawX = PanelX;
            int DrawY = PanelY;

            DrawBox(g, new Vector2(DrawX, DrawY), PanelWidth, PanelHeight, Color.White);
            DrawBox(g, new Vector2(DrawX, DrawY), PanelWidth, 30, Color.White);
            g.DrawString(fntText, "Bots", new Vector2(DrawX + 10, DrawY + 8), Color.White);

            DrawY += 40;
            g.DrawString(fntText, "Number of Bots", new Vector2(DrawX + 10, DrawY), Color.White);

            DrawY += 105;
            DrawBox(g, new Vector2(DrawX, DrawY), PanelWidth, PanelHeight + 30, Color.White);
            DrawBox(g, new Vector2(DrawX, DrawY), PanelWidth, 30, Color.White);
            g.DrawString(fntText, "Game", new Vector2(DrawX + 10, DrawY + 8), Color.White);

            DrawY += 40;
            g.DrawString(fntText, "Goal Score", new Vector2(DrawX + 10, DrawY), Color.White);
            g.DrawString(fntText, "Time Limit", new Vector2(RightColumnX + 10, DrawY), Color.White);
            DrawY += 30;
            g.DrawString(fntText, "Turn Limit", new Vector2(RightColumnX + 10, DrawY), Color.White);
            DrawY += 30;
            g.DrawString(fntText, "Min Players", new Vector2(DrawX + 10, DrawY), Color.White);
            g.DrawString(fntText, "Max Players", new Vector2(RightColumnX + 10, DrawY), Color.White);
            DrawY += 30;
            g.DrawString(fntText, "Max Squad Per Player", new Vector2(DrawX + 10, DrawY), Color.White);

            foreach (IUIElement ActiveButton in ArrayMenuButton)
            {
                ActiveButton.Draw(g);
            }
        }
示例#19
0
 /// <summary>
 /// Start drawing A FilterItem and its content at a given position.
 /// </summary>
 /// <param name="g">SpriteBatch to draw on.</param>
 /// <param name="Filter">Filter to draw.</param>
 /// <param name="X">X Position to start drawing.</param>
 /// <param name="Y">Y Position to start drawing.</param>
 /// <returns></returns>
 private int DrawFilter(CustomSpriteBatch g, FilterItem Filter, int X, int Y, ref int Index)
 {
     if (Filter.IsOpen)
     {//Loop through every ShopItem.
         for (int i = 0; i < Filter.ListItem.Count; i++)
         {
             if (Index >= CursorIndexStart && Index < 32 + CursorIndexStart)
             {
                 //Draw the name,
                 g.DrawString(fntArial8, Filter.ListItem[i].RelativePath, new Vector2(X + 20, Y), Color.White);
                 //Draw the quantity related informations.
                 int QuantityOwned = 0;
                 if (Inventory.ListItems.ContainsKey(Filter.ListItem[i].RelativePath))
                 {
                     QuantityOwned = Inventory.ListItems[Filter.ListItem[i].RelativePath].Quantity;
                 }
                 g.DrawString(fntArial8, Filter.ListItem[i].QuantityToBuy + " / " + Filter.ListItem[i].Quantity + " (" + QuantityOwned + ")", new Vector2(Constants.Width - 60, Y), Color.Aqua);
                 //If the current ShopItem is selected, highlight it.
                 if (i == Filter.CursorIndex)
                 {
                     g.Draw(sprRectangle, new Rectangle(X + 16, Y, (int)fntArial8.MeasureString(Filter.ListItem[i].RelativePath).X + 10, fntArial8.LineSpacing), Color.FromNonPremultiplied(255, 255, 255, CursorAlpha));
                 }
                 Y += fntArial8.LineSpacing;
             }
             Index++;
         }
         //Loop through every FilterItem.
         for (int F = 0; F < Filter.ListFilter.Count; F++)
         {
             if (Index >= CursorIndexStart && Index < 32 + CursorIndexStart)
             {
                 //If it's open
                 if (Filter.ListFilter[F].IsOpen)
                 {
                     g.DrawString(fntArial8, "- " + Filter.ListFilter[F].Name, new Vector2(X + 20, Y), Color.White);
                 }
                 else
                 {
                     g.DrawString(fntArial8, "+ " + Filter.ListFilter[F].Name, new Vector2(X + 20, Y), Color.White);
                 }
                 //If the current FilterItem is selected, highlight it.
                 if (F == Filter.CursorIndex - Filter.ListItem.Count)
                 {
                     g.Draw(sprRectangle, new Rectangle(X + 16, Y, (int)fntArial8.MeasureString("+ " + Filter.ListFilter[F].Name).X + 10, fntArial8.LineSpacing), Color.FromNonPremultiplied(255, 255, 255, CursorAlpha));
                 }
                 Y += fntArial8.LineSpacing;
             }
             Index++;
             //Loop in the filter so it draws itself if open.
             Y = DrawFilter(g, Filter.ListFilter[F], X + 20, Y, ref Index);
         }
     }
     return(Y);
 }
示例#20
0
        private void DrawMenu(CustomSpriteBatch g)
        {
            GameScreen.DrawBox(g, new Vector2(10, 10), 620, 40, Color.White);
            g.DrawString(fntFinlanderFont, "Unit Select", new Vector2(15, 13), Color.White);
            GameScreen.DrawBox(g, new Vector2(10, 45), 620, 355, Color.White);
            g.DrawString(fntFinlanderFont, "Unit", new Vector2(50, 50), Color.Yellow);
            g.DrawStringRightAligned(fntFinlanderFont, "HP", new Vector2(340, 50), Color.Yellow);
            g.DrawStringRightAligned(fntFinlanderFont, "EN", new Vector2(400, 50), Color.Yellow);
            g.DrawString(fntFinlanderFont, "PILOT", new Vector2(440, 50), Color.Yellow);
            g.DrawStringRightAligned(fntFinlanderFont, "LV", new Vector2(620, 50), Color.Yellow);

            int LineSpacing = 36;

            UnitSelectionMenu.DrawMenu(g, 20, 80, LineSpacing);

            g.DrawStringRightAligned(fntFinlanderFont, (MaxNumberOfUnitsToSpawn - ListSelectedUnit.Count) + " Units Left",
                                     new Vector2(500, 13), Color.White);

            g.DrawStringRightAligned(fntFinlanderFont, "Page " + UnitSelectionMenu.CurrentPage + "/" + UnitSelectionMenu.PageCount,
                                     new Vector2(620, 13), Color.White);

            g.Draw(GameScreen.sprPixel, new Rectangle(15, 77 + UnitSelectionMenu.SelectedItemIndex * LineSpacing, 611, LineSpacing), Color.FromNonPremultiplied(255, 255, 255, 127));

            GameScreen.DrawBox(g, new Vector2(10, 400), 620, 70, Color.White);
            g.DrawString(fntFinlanderFont, "Move Type", new Vector2(50, 400), Color.Yellow);
            int X = 100 - (SelectedUnit.ListTerrainChoices.Count - 1) * 15;

            if (SelectedUnit.ListTerrainChoices.Contains("Air"))
            {
                g.Draw(sprSky, new Vector2(X, 435), Color.White);
                X += 30;
            }
            if (SelectedUnit.ListTerrainChoices.Contains("Land"))
            {
                g.Draw(sprLand, new Vector2(X, 435), Color.White);
                X += 30;
            }
            if (SelectedUnit.ListTerrainChoices.Contains("Sea"))
            {
                g.Draw(sprSea, new Vector2(X, 435), Color.White);
                X += 30;
            }
            if (SelectedUnit.ListTerrainChoices.Contains("Space"))
            {
                g.Draw(sprSpace, new Vector2(X, 435), Color.White);
                X += 30;
            }

            g.DrawString(fntFinlanderFont, "Terrain Stat", new Vector2(420, 400), Color.Yellow);
            g.Draw(sprSky, new Vector2(400, 435), Color.White);
            g.Draw(sprLand, new Vector2(450, 435), Color.White);
            g.Draw(sprSea, new Vector2(500, 435), Color.White);
            g.Draw(sprSpace, new Vector2(550, 435), Color.White);
            g.DrawString(fntFinlanderFont, SelectedUnit.TerrainLetterAttribute("Air").ToString(), new Vector2(425, 430), Color.Yellow);
            g.DrawString(fntFinlanderFont, SelectedUnit.TerrainLetterAttribute("Land").ToString(), new Vector2(475, 430), Color.Yellow);
            g.DrawString(fntFinlanderFont, SelectedUnit.TerrainLetterAttribute("Sea").ToString(), new Vector2(525, 430), Color.Yellow);
            g.DrawString(fntFinlanderFont, SelectedUnit.TerrainLetterAttribute("Space").ToString(), new Vector2(575, 430), Color.Yellow);
        }
示例#21
0
        private void DrawRooms(CustomSpriteBatch g)
        {
            int i = 0;

            foreach (RoomInformations ActiveRoom in DicAllRoom.Values)
            {
                float X = 148 + (i % 2) * 248;
                float Y = 169 + (i / 2) * 60;

                if (MouseHelper.MouseStateCurrent.X >= X - sprRoom.Origin.X && MouseHelper.MouseStateCurrent.X <= X + sprRoom.Origin.X &&
                    MouseHelper.MouseStateCurrent.Y >= Y - sprRoom.Origin.Y && MouseHelper.MouseStateCurrent.Y <= Y + sprRoom.Origin.Y)
                {
                    sprRoom.SetFrame(2);
                }
                else
                {
                    sprRoom.SetFrame(0);
                }

                sprRoom.Draw(g, new Vector2(X, Y), Color.White);
                g.DrawString(fntArial12, ActiveRoom.RoomName, new Vector2(X - 70, Y - 18), Color.White);
                g.DrawString(fntArial12, ActiveRoom.CurrentPlayerCount.ToString(), new Vector2(X - 5, Y), Color.White);
                g.DrawString(fntArial12, ActiveRoom.MaxNumberOfPlayer.ToString(), new Vector2(X + 20, Y), Color.White);

                if (ActiveRoom.IsPlaying)
                {
                    sprRoomState.SetFrame(0);
                }
                else
                {
                    sprRoomState.SetFrame(1);
                }
                sprRoomState.Draw(g, new Vector2(X + 65, Y + 8), Color.White);

                if (ActiveRoom.RoomSubtype == "Deathmatch")
                {
                    sprRoomType.SetFrame(0);
                    sprRoomType.Draw(g, new Vector2(X - 38, Y + 14), Color.White);
                }
                else if (ActiveRoom.RoomSubtype == "Capture The Flag")
                {
                    sprRoomType.SetFrame(1);
                    sprRoomType.Draw(g, new Vector2(X - 38, Y + 14), Color.White);
                }
                else if (ActiveRoom.RoomSubtype == "Survival")
                {
                    sprRoomType.SetFrame(2);
                    sprRoomType.Draw(g, new Vector2(X - 38, Y + 14), Color.White);
                }
                ++i;
            }
        }
示例#22
0
        public override void Draw(CustomSpriteBatch g)
        {
            g.Draw(sprBackground, new Vector2(Constants.Width / 2, Constants.Height / 2), null, Color.White, 0f, new Vector2(sprBackground.Width / 2, sprBackground.Height / 2), 1f, SpriteEffects.None, 0f);
            g.Draw(sprHeader, new Vector2(196, 122), Color.White);
            g.Draw(EquipmentToBuy.sprFull, new Vector2(223, 175), Color.White);
            g.DrawString(fntText, EquipmentToBuy.Category, new Vector2(227, 288), Color.White);
            g.DrawString(fntText, EquipmentToBuy.Name, new Vector2(227, 311), Color.White);
            g.DrawStringRightAligned(fntText, EquipmentToBuy.Price + "CR", new Vector2(577, 311), Color.White);
            g.DrawString(fntText, "Lv." + EquipmentToBuy.MinLevel, new Vector2(385, 336), Color.White);

            BuyButton.Draw(g);
            CancelButton.Draw(g);
        }
示例#23
0
        public override void Draw(CustomSpriteBatch g)
        {
            g.End();
            g.Begin(SpriteSortMode.Immediate, BlendState.AlphaBlend);
            g.Draw(sprMapMenuBackground, new Vector2(0, 0), Color.White);
            g.DrawString(fntFinlanderFont, "Data", new Vector2(120, 10), Color.White);
            DrawBox(g, new Vector2(10, 45), 420, 300, Color.White);
            g.DrawString(fntFinlanderFont, "Save", new Vector2(20, 50), Color.White);
            g.DrawString(fntFinlanderFont, "Load", new Vector2(20, 80), Color.White);
            g.DrawString(fntFinlanderFont, "Exit", new Vector2(20, 110), Color.White);

            g.Draw(sprPixel, new Rectangle(17, 52 + CursorIndex * 30, 100, 30), Color.FromNonPremultiplied(255, 255, 255, 127));
        }
示例#24
0
        public override void Draw(CustomSpriteBatch g)
        {
            g.Draw(sprBackground, new Vector2(Constants.Width / 2, Constants.Height / 2), null, Color.White, 0f, new Vector2(sprBackground.Width / 2, sprBackground.Height / 2), 1f, SpriteEffects.None, 0f);
            g.Draw(sprHeader, new Vector2(196, 122), Color.White);
            g.Draw(CharacterToBuy.sprFull, new Vector2(215, 172), Color.White);
            g.DrawStringMiddleAligned(fntText, CharacterToBuy.Name, new Vector2(513, 175), Color.White);
            g.DrawString(fntText, "5", new Vector2(473, 199), Color.White);
            g.DrawString(fntText, "6", new Vector2(515, 199), Color.White);
            g.DrawString(fntText, "4", new Vector2(557, 199), Color.White);

            BuyButton.Draw(g);
            CancelButton.Draw(g);
        }
        public override void Draw(CustomSpriteBatch g)
        {
            g.Draw(sprBackground, Vector2.Zero, Color.White);
            g.Draw(sprActivePlayerIcon, new Vector2(570, 11), Color.White);
            foreach (InteractiveButton ActiveButton in ArrayMenuButton)
            {
                ActiveButton.Draw(g);
            }

            if (OnlineCommunicationClient != null)
            {
                ChatHelper.DrawChat(g, sprTabChat, fntText, OnlineCommunicationClient.Chat, ChatInput);
            }

            MissionScrollbar.Draw(g);

            g.DrawString(fntText, Room.RoomName, new Vector2(68, 7), Color.White);

            g.DrawStringMiddleAligned(fntText, CurrentMissionName, new Vector2(170, 114), Color.White);
            g.DrawStringMiddleAligned(fntText, CurrentMissionDescription, new Vector2(170, 270), Color.White);
            if (sprCurrentMissionImage != null)
            {
                g.Draw(sprCurrentMissionImage, new Vector2(57, 139), Color.White);
            }

            for (int P = 0; P < Room.ListRoomPlayer.Count; ++P)
            {
                int DrawX = 678;
                int DrawY = 310 + P * 64;

                DrawPlayerBox(g, DrawX, DrawY, Room.ListRoomPlayer[P], true);
            }

            for (int M = MissionInfoStartIndex, i = 0; M < ListMissionInfo.Count && i < 4; ++M, ++i)
            {
                QuestButton.Draw(g, new Vector2(405, 140 + i * 64), Color.White);
                g.DrawString(fntText, (M + 1).ToString().PadLeft(2, '0'), new Vector2(395, 120 + i * 64), Color.FromNonPremultiplied(0, 255, 0, 255));
                g.DrawString(fntText, "1", new Vector2(485, 120 + i * 64), Color.White);
                g.DrawString(fntText, ListMissionInfo[M].MissionName, new Vector2(328, 145 + i * 64), Color.FromNonPremultiplied(0, 255, 0, 255));

                Rectangle QuestButtonCollisionBox = new Rectangle(405 - (int)QuestButton.Origin.X,
                                                                  140 - (int)QuestButton.Origin.Y + i * 64,
                                                                  QuestButton.SpriteWidth,
                                                                  QuestButton.SpriteHeight);

                if (QuestButtonCollisionBox.Contains(MouseHelper.MouseStateCurrent.X, MouseHelper.MouseStateCurrent.Y))
                {
                    PlayerInfoOutline.Draw(g, new Vector2(405, 140 + i * 64), Color.White);
                }
            }
        }
示例#26
0
        public static void DrawChat(CustomSpriteBatch g, SpriteFont fntArial12, ChatManager Chat, TextInput ChatInput)
        {
            ChatInput.Draw(g);

            int T = 0;

            GameScreen.DrawBox(g, new Vector2(5, 448), 550, 148, Color.White);
            GameScreen.DrawBox(g, new Vector2(5, 568), 550, 28, Color.White);

            foreach (KeyValuePair <string, ChatManager.ChatTab> ActiveTab in Chat.DicTab)
            {
                int X = 5 + T * 103;
                int Y = 425;

                if (ActiveTab.Value.Name == Chat.ActiveTabName)
                {
                    GameScreen.DrawBox(g, new Vector2(X, Y), 102, 24, Color.White);
                }
                else if (MouseHelper.MouseStateCurrent.X >= X && MouseHelper.MouseStateCurrent.X < X + 103 &&
                         MouseHelper.MouseStateCurrent.Y >= Y && MouseHelper.MouseStateCurrent.Y < Y + 24)
                {
                    GameScreen.DrawBox(g, new Vector2(X, Y), 102, 24, Color.White);
                }
                else
                {
                    GameScreen.DrawBox(g, new Vector2(X, Y + 2), 102, 22, Color.White);
                }

                if (ActiveTab.Value.HasUnreadMessages)
                {
                    g.DrawString(fntArial12, ActiveTab.Value.Name + " *", new Vector2(X + 32, Y + 3), Color.White);
                }
                else
                {
                    g.DrawString(fntArial12, ActiveTab.Value.Name, new Vector2(X + 32, Y + 3), Color.White);
                }
                ++T;
            }

            int LineSpacing       = fntArial12.LineSpacing;
            int LastMessageIndex  = Math.Max(0, Chat.ListActiveTabHistory.Count - Chat.ActiveTabScrollUpValue / LineSpacing);
            int FirstMessageIndex = Math.Max(0, LastMessageIndex - 4);

            for (int M = FirstMessageIndex, i = 0; M < LastMessageIndex; ++M, ++i)
            {
                ChatManager.ChatMessage ActiveMessage = Chat.ListActiveTabHistory[M];
                float X = 30;
                float Y = 430 + i * fntArial12.LineSpacing - Chat.ActiveTabScrollUpValue;
                g.DrawString(fntArial12, ActiveMessage.Message, new Vector2(X, Y), Color.White);
            }
        }
示例#27
0
        private void DrawSubMenu(CustomSpriteBatch g)
        {
            int X           = (Constants.Width - 300) / 2;
            int Y           = 200;
            int LineSpacing = fntFinlanderFont.LineSpacing;

            GameScreen.DrawBox(g, new Vector2(X, Y), 300, 100, Color.White);
            g.DrawString(fntFinlanderFont, "Deploy Units", new Vector2(X           += 5, Y += 5), Color.White);
            g.DrawString(fntFinlanderFont, "Change Units", new Vector2(X, Y        += fntFinlanderFont.LineSpacing), Color.White);
            g.DrawString(fntFinlanderFont, "Change Formation", new Vector2(X, Y    += fntFinlanderFont.LineSpacing), Color.White);
            g.DrawString(fntFinlanderFont, "Intermission Screen", new Vector2(X, Y += fntFinlanderFont.LineSpacing), Color.White);

            g.Draw(GameScreen.sprPixel, new Rectangle(X, 210 + SubMenuIndex * LineSpacing, 290, LineSpacing), Color.FromNonPremultiplied(255, 255, 255, 127));
        }
示例#28
0
        private void DrawPlayers(CustomSpriteBatch g)
        {
            if (PlayerListType == PlayerListTypes.All)
            {
                for (int P = 0; P < ArrayLobbyPlayer.Length; P++)
                {
                    float X = 580;
                    float Y = 166 + P * (fntArial12.LineSpacing + 4);

                    if (MouseHelper.MouseStateCurrent.X >= X && MouseHelper.MouseStateCurrent.X <= X + 177 &&
                        MouseHelper.MouseStateCurrent.Y >= Y && MouseHelper.MouseStateCurrent.Y <= Y + fntArial12.LineSpacing)
                    {
                        sprUserSelection.SetFrame(2);
                    }
                    else
                    {
                        sprUserSelection.SetFrame(0);
                    }

                    sprUserSelection.Draw(g, new Vector2(X + 88, Y + 9), Color.White);

                    g.DrawString(fntArial12, "Lv." + ArrayLobbyPlayer[P].Level, new Vector2(X + 5, Y), Color.White);
                    g.DrawString(fntArial12, ArrayLobbyPlayer[P].Name, new Vector2(X + 55, Y), Color.White);
                }
            }
            else if (PlayerListType == PlayerListTypes.Friends)
            {
                for (int P = 0; P < ArrayLobbyFriends.Length; P++)
                {
                    float X = 580;
                    float Y = 166 + P * (fntArial12.LineSpacing + 4);

                    if (MouseHelper.MouseStateCurrent.X >= X && MouseHelper.MouseStateCurrent.X <= X + 177 &&
                        MouseHelper.MouseStateCurrent.Y >= Y && MouseHelper.MouseStateCurrent.Y <= Y + fntArial12.LineSpacing)
                    {
                        sprUserSelection.SetFrame(2);
                    }
                    else
                    {
                        sprUserSelection.SetFrame(0);
                    }

                    sprUserSelection.Draw(g, new Vector2(X + 88, Y + 9), Color.White);

                    g.DrawString(fntArial12, "Lv." + ArrayLobbyFriends[P].Level, new Vector2(X + 5, Y), Color.White);
                    g.DrawString(fntArial12, ArrayLobbyFriends[P].Name, new Vector2(X + 55, Y), Color.White);
                }
            }
        }
示例#29
0
        public void DrawMenuUnit(CustomSpriteBatch g, int ItemIndex, int X, int Y)
        {
            Unit ActiveUnit = SelectedUnit;

            g.Draw(ActiveUnit.SpriteMap, new Vector2(X, Y), Color.White);
            g.DrawString(fntFinlanderFont, ActiveUnit.FullName, new Vector2(X + 40, Y), Color.White);
            DrawTextRightAligned(g, ActiveUnit.MaxHP.ToString(), new Vector2(300, Y), Color.White);
            DrawTextRightAligned(g, ActiveUnit.MaxEN.ToString(), new Vector2(400, Y), Color.White);

            if (ActiveUnit.Pilot != null)
            {
                g.DrawString(fntFinlanderFont, ActiveUnit.PilotName, new Vector2(440, Y), Color.White);
                g.DrawStringRightAligned(fntFinlanderFont, ActiveUnit.PilotLevel.ToString(), new Vector2(620, Y), Color.White);
            }
        }
示例#30
0
        public void DrawMenu(CustomSpriteBatch g)
        {
            g.Draw(sprMapMenuBackground, new Vector2(0, 0), Color.White);
            DrawBox(g, new Vector2(10, 45), 420, 300, Color.White);
            g.DrawString(fntFinlanderFont, "Unit", new Vector2(20, 50), Color.Yellow);
            g.DrawStringRightAligned(fntFinlanderFont, "HP", new Vector2(300, 50), Color.Yellow);
            g.DrawStringRightAligned(fntFinlanderFont, "EN", new Vector2(400, 50), Color.Yellow);
            DrawBox(g, new Vector2(430, 45), 200, 300, Color.White);
            g.DrawString(fntFinlanderFont, "PILOT", new Vector2(440, 50), Color.Yellow);
            g.DrawStringRightAligned(fntFinlanderFont, "LV", new Vector2(620, 50), Color.Yellow);

            UnitSelectionMenu.DrawMenu(g, 20, 80, LineSpacing);
            g.DrawString(fntFinlanderFont, UnitSelectionMenu.CurrentPage + "/" + UnitSelectionMenu.PageCount, new Vector2(420, 10), Color.White);
            g.Draw(BattleMap.sprPixel, new Rectangle(20, 80 + UnitSelectionMenu.SelectedItemIndex * LineSpacing, 601, LineSpacing), Color.FromNonPremultiplied(255, 255, 255, 127));
        }