コード例 #1
0
        public bool CanDeletePage(Player player, int pageNum, out string err)
        {
            if (!this.IsEnabled)
            {
                err = this.Name + " inventory extension disabled.";
                return(false);
            }

            var mymod = ExtensibleInventoryMod.Instance;

            if (!mymod.Config.CanDeletePages)
            {
                err = "Page deletion disabled.";
                return(false);
            }

            bool minPages = this.Pages.Count > 1;

            if (!minPages)
            {
                err = "Too few pages to delete any more.";
                return(false);
            }

            bool isEmpty = ExtensibleInventoryPlayer.IsPlayerInventoryEmpty(player);

            if (!isEmpty)
            {
                err = "Cannot delete non-empty inventory pages.";
                return(false);
            }

            err = "";
            return(true);
        }
コード例 #2
0
        public void UpdatePageTabsPosition(bool isChest)
        {
            var mymod = ExtensibleInventoryMod.Instance;
            ExtensibleInventoryPlayer myplayer = TmlHelpers.SafelyGetModPlayer <ExtensibleInventoryPlayer>(Main.LocalPlayer);

            float  offX     = isChest ? mymod.Config.ChestOnOffsetXCoord : 0;
            float  offY     = isChest ? mymod.Config.ChestOnOffsetYCoord : 0;
            float  x        = mymod.Config.PagePositionXCoord + offX;
            float  y        = mymod.Config.PagePositionYCoord + offY;
            string pageText = this.PageDisplay.Text;

            if (myplayer != null)
            {
                pageText = myplayer.Library.CurrentBook.PagePositionToString();

                this.PageDisplay.SetText(pageText);
            }

            float textWid = Main.fontMouseText.MeasureString(pageText).X;

            this.PageDisplay.Top.Set(y, 0f);
            this.PageDisplay.Left.Set(x + 20f + (48f - textWid / 2f), 0f);
        }