Beispiel #1
0
        public void DrawPlanet(PlanetData planetData, short posX, short posY)
        {
            // Draw Moons behind Planet:
            foreach (MoonData moon in planetData.moons)
            {
                if (!moon.front)
                {
                    this.atlas.Draw(moon.sprite, posX + (short)moon.posX, posY + (short)moon.posY);
                }
            }

            // Draw Planet
            this.atlas.DrawAdvanced(planetData.sprite, posX + 2, posY, Color.White, 0f, 4);

            // Display Name
            Systems.fonts.baseText.Draw(planetData.title, posX + 16 - (byte)Math.Floor(planetData.textSize.X * 0.5f), posY + 78, Color.White);

            // Display Difficulty
            short diffSize = (short)Systems.fonts.console.font.MeasureString(GameplayTypes.DiffName[(byte)planetData.diff]).X;

            Systems.fonts.console.Draw(GameplayTypes.DiffName[(byte)planetData.diff], posX + 16 - (byte)Math.Floor(diffSize * 0.5f), posY + 103, Color.White);

            // Display Character
            if (planetData.icon != null && planetData.icon[0] > 0 && planetData.icon[1] > 0)
            {
                Head.GetHeadBySubType(planetData.icon[0]).Draw(false, posX - 30, posY - 45, 0, 0);
                Suit.GetSuitBySubType(planetData.icon[1]).Draw("StandLeft", posX - 30, posY - 45, 0, 0);

                if (planetData.icon[2] > 0)
                {
                    Hat.GetHatBySubType(planetData.icon[2]).Draw(false, posX - 30, posY - 45, 0, 0);
                }
                else if (planetData.icon[0] == (byte)HeadSubType.PooHead)
                {
                    Hat.GetHatBySubType((byte)HatSubType.PooHat).Draw(false, posX - 30, posY - 45, 0, 0);
                }
            }

            // Draw Moons in front of planet:
            foreach (MoonData moon in planetData.moons)
            {
                if (moon.front)
                {
                    this.atlas.Draw(moon.sprite, posX + (short)moon.posX, posY + (short)moon.posY);
                }
            }
        }
Beispiel #2
0
        public void SetHead(byte head = (byte)HeadSubType.LanaHead)
        {
            this.head = head;

            if (Systems.settings.login.HeadVal > 0)
            {
                this.head = Systems.settings.login.HeadVal;

                Head curHead = Head.GetHeadBySubType(this.head);
                Hat  curHat  = Hat.GetHatBySubType(this.hat);

                if (curHead is Head && curHead.DefaultCosmeticHat is Hat)
                {
                    this.hat = curHead.DefaultCosmeticHat.subType;
                }
                else
                {
                    if (curHat is Hat && curHat.IsCosmeticHat)
                    {
                        this.hat = 0;
                    }
                }
            }
        }