Beispiel #1
0
        internal static void DrawPlayerName(int index)
        {
            int    textX     = 0;
            int    textY     = 0;
            Color  color     = new Color();
            Color  backcolor = new Color();
            string name      = "";

            // Check access level
            if (C_Player.GetPlayerPk(index) == 0)
            {
                switch (C_Player.GetPlayerAccess(index))
                {
                case (int)Enums.AdminType.Player:
                    color     = SFML.Graphics.Color.Red;
                    backcolor = SFML.Graphics.Color.Black;
                    break;

                case (int)Enums.AdminType.Monitor:
                    color     = SFML.Graphics.Color.Black;
                    backcolor = SFML.Graphics.Color.White;
                    break;

                case (int)Enums.AdminType.Mapper:
                    color     = SFML.Graphics.Color.Cyan;
                    backcolor = SFML.Graphics.Color.Black;
                    break;

                case (int)Enums.AdminType.Developer:
                    color     = SFML.Graphics.Color.Green;
                    backcolor = SFML.Graphics.Color.Black;
                    break;

                case (int)Enums.AdminType.Creator:
                    color     = SFML.Graphics.Color.Yellow;
                    backcolor = SFML.Graphics.Color.Black;
                    break;
                }
            }
            else
            {
                color = SFML.Graphics.Color.Red;
            }

            name = C_Types.Player[index].Name.Trim();
            // calc pos
            textX = System.Convert.ToInt32(C_Graphics.ConvertMapX(C_Player.GetPlayerX(index) * C_Constants.PicX) + C_Types.Player[index].XOffset + (C_Constants.PicX / 2));
            textX = System.Convert.ToInt32(textX - ((double)GetTextWidth(name.Trim()) / 2));
            if (C_Player.GetPlayerSprite(index) < 1 || C_Player.GetPlayerSprite(index) > C_Graphics.NumCharacters)
            {
                textY = C_Graphics.ConvertMapY(C_Player.GetPlayerY(index) * C_Constants.PicY) + C_Types.Player[index].YOffset - 16;
            }
            else
            {
                // Determine location for text
                textY = System.Convert.ToInt32(C_Graphics.ConvertMapY(C_Player.GetPlayerY(index) * C_Constants.PicY) + C_Types.Player[index].YOffset - ((double)C_Graphics.CharacterGfxInfo[C_Player.GetPlayerSprite(index)].Height / 4) + 16);
            }

            // Draw name
            DrawText(textX, textY, name.Trim(), color, backcolor, C_Graphics.GameWindow);
        }