コード例 #1
0
        /// <summary>
        /// Updates Dresser SourceRect and Sets TileSheetPoint.
        /// </summary>
        /// <param name="dresserIndex">Index of the Dresser.</param>
        private void UpdateDresser(int dresserIndex)
        {
            if (Dresser.PackHelper.DresserTextureHeight == 32)
            {
                Dresser.TextureSourceRect.Y = 0;
            }
            else
            {
                Dresser.TextureSourceRect.Y = dresserIndex * 32 - 32;
            }

            Dresser.SetDresserTileSheetPoint(dresserIndex);
            Dresser.UpdateDresserInFarmHouse();
        }
コード例 #2
0
ファイル: GlamMenu.cs プロジェクト: MadAbs/smapi-mod-dump
        /// <summary>Handles which index to move and by what direction</summary>
        /// <param name="name">The name of the button</param>
        /// <param name="direction">Which direction to move the indexes</param>
        private void SelectionClick(string name, int direction)
        {
            //Switch statement of the different button names
            switch (name)
            {
            case "LeftBase":
                if (!NewLeftButtonsList[0].visible)
                {
                    return;
                }

                if (BaseIndex + direction > -1)
                {
                    BaseIndex += direction;
                }
                else
                {
                    BaseIndex = Game1.player.isMale ? PackHelper.MaleBaseTextureList.Count : PackHelper.FemaleBaseTextureList.Count;
                }

                FaceIndex = 0;
                NoseIndex = 0;
                PackHelper.ChangePlayerBase(Game1.player.isMale, BaseIndex, FaceIndex, NoseIndex, ShoeIndex, IsBald);
                break;

            case "RightBase":
                if (!NewRightButtonsList[0].visible)
                {
                    return;
                }

                if (BaseIndex + direction > (Game1.player.isMale ? PackHelper.MaleBaseTextureList.Count : PackHelper.FemaleBaseTextureList.Count))
                {
                    BaseIndex = 0;
                }
                else
                {
                    BaseIndex += direction;
                }

                FaceIndex = 0;
                NoseIndex = 0;
                PackHelper.ChangePlayerBase(Game1.player.isMale, BaseIndex, FaceIndex, NoseIndex, ShoeIndex, IsBald);
                break;

            case "LeftNose":
                if (NoseIndex + direction > -1)
                {
                    NoseIndex += direction;
                }
                else
                {
                    NoseIndex = PackHelper.GetNumberOfFacesAndNoses(Game1.player.isMale, BaseIndex, false);
                }

                PackHelper.ChangePlayerBase(Game1.player.isMale, BaseIndex, FaceIndex, NoseIndex, ShoeIndex, IsBald);
                break;

            case "RightNose":
                if (NoseIndex + direction > PackHelper.GetNumberOfFacesAndNoses(Game1.player.isMale, BaseIndex, false))
                {
                    NoseIndex = 0;
                }
                else
                {
                    NoseIndex += direction;
                }

                PackHelper.ChangePlayerBase(Game1.player.isMale, BaseIndex, FaceIndex, NoseIndex, ShoeIndex, IsBald);
                break;

            case "LeftFace":
                if (FaceIndex + direction > -1)
                {
                    FaceIndex += direction;
                }
                else
                {
                    FaceIndex = PackHelper.GetNumberOfFacesAndNoses(Game1.player.isMale, BaseIndex, true);
                }

                PackHelper.ChangePlayerBase(Game1.player.isMale, BaseIndex, FaceIndex, NoseIndex, ShoeIndex, IsBald);
                break;

            case "RightFace":
                if (FaceIndex + direction > PackHelper.GetNumberOfFacesAndNoses(Game1.player.isMale, BaseIndex, true))
                {
                    FaceIndex = 0;
                }
                else
                {
                    FaceIndex += direction;
                }

                PackHelper.ChangePlayerBase(Game1.player.isMale, BaseIndex, FaceIndex, NoseIndex, ShoeIndex, IsBald);
                break;

            case "LeftShoe":
                if (ShoeIndex + direction > -1)
                {
                    ShoeIndex += direction;
                }
                else
                {
                    ShoeIndex = Game1.player.isMale ? PackHelper.MaleShoeTextureList.Count: PackHelper.FemaleShoeTextureList.Count;
                }

                PackHelper.ChangePlayerBase(Game1.player.isMale, BaseIndex, FaceIndex, NoseIndex, ShoeIndex, IsBald);
                break;

            case "RightShoe":
                if (ShoeIndex + direction > (Game1.player.isMale ? PackHelper.MaleShoeTextureList.Count : PackHelper.FemaleShoeTextureList.Count))
                {
                    ShoeIndex = 0;
                }
                else
                {
                    ShoeIndex += direction;
                }

                PackHelper.ChangePlayerBase(Game1.player.isMale, BaseIndex, FaceIndex, NoseIndex, ShoeIndex, IsBald);
                break;

            case "LeftDresser":
                if (!NewLeftButtonsList[7].visible)
                {
                    return;
                }

                if (DresserIndex + direction > 0)
                {
                    DresserIndex += direction;
                }
                else
                {
                    DresserIndex = Dresser.GetNumberOfDressers();
                }

                //Change the Dressers source rect and update the dresser in the farmhouse
                Dresser.TextureSourceRect.Y = DresserIndex.Equals(1) ? 0 : DresserIndex * 32 - 32;
                Dresser.SetDresserTileSheetPoint(DresserIndex);
                Dresser.UpdateDresserInFarmHouse();
                break;

            case "RightDresser":
                if (!NewRightButtonsList[7].visible)
                {
                    return;
                }

                if (DresserIndex + direction <= Dresser.GetNumberOfDressers())
                {
                    DresserIndex += direction;
                }
                else
                {
                    DresserIndex = 1;
                }

                //Change the Dressers source rect and update the dresser in the farmhouse
                Dresser.TextureSourceRect.Y = DresserIndex.Equals(1) ? 0 : DresserIndex * 32 - 32;
                Dresser.SetDresserTileSheetPoint(DresserIndex);
                Dresser.UpdateDresserInFarmHouse();
                break;

            case "Male":
                Game1.player.changeGender(true);

                //Reset the BaseIndex, ShoeIndex to prevent crashing
                BaseIndex = 0;
                ShoeIndex = 0;
                PackHelper.ChangePlayerBase(Game1.player.isMale, BaseIndex, FaceIndex, NoseIndex, ShoeIndex, IsBald);
                break;

            case "Female":
                Game1.player.changeGender(false);

                //Reset the BaseIndex, ShoeIndex to prevent crashing
                BaseIndex = 0;
                ShoeIndex = 0;
                PackHelper.ChangePlayerBase(Game1.player.isMale, BaseIndex, FaceIndex, NoseIndex, ShoeIndex, IsBald);
                break;

            case "LeftChangeHair":
                if (Game1.player.hair.Get().Equals(0) && PackHelper.NumberOfHairstlyesAdded == 56)
                {
                    Game1.player.hair.Set(FarmerRenderer.hairStylesTexture.Height / 96 * 8 - 1);
                }
                else if (Game1.player.hair.Get().Equals(0) && PackHelper.NumberOfHairstlyesAdded != 56)
                {
                    Game1.player.hair.Set(PackHelper.NumberOfHairstlyesAdded - 1);
                }
                else
                {
                    Game1.player.hair.Set(Game1.player.hair.Value + direction);
                }
                break;

            case "RightChangeHair":
                if (PackHelper.NumberOfHairstlyesAdded == 56 && Game1.player.hair.Value + 1 > FarmerRenderer.hairStylesTexture.Height / 96 * 8 - 1)
                {
                    Game1.player.hair.Set(0);
                }
                else if (PackHelper.NumberOfHairstlyesAdded != 56 && Game1.player.hair.Value.Equals(PackHelper.NumberOfHairstlyesAdded - 1))
                {
                    Game1.player.hair.Set(0);
                }
                else
                {
                    Game1.player.hair.Set(Game1.player.hair.Value + direction);
                }
                break;

            case "LeftChangeSkin":
            case "RightChangeSkin":
                Game1.player.changeSkinColor(Game1.player.skin.Value + direction);
                break;

            case "LeftChangeAcc":
            case "RightChangeAcc":
                Game1.player.changeAccessory(Game1.player.accessory.Value + direction);
                break;

            case "LeftDirection":
            case "RightDirection":
                Game1.player.faceDirection((Game1.player.FacingDirection - direction + 4) % 4);
                Game1.player.FarmerSprite.StopAnimation();
                Game1.player.completelyStopAnimatingOrDoingAction();
                break;
            }
        }