コード例 #1
0
 internal static void ResetVendoring()
 {
     _forceBagCheck      = false;
     _resetTargetManager = false;
     VendorBehavior.ResetVendoring();
     MailBehavior.ResetMailing();
     DisenchantBehavior.ResetDisenchanting();
 }
コード例 #2
0
        public static async Task <bool> VendoringBehavior()
        {
            if (await DisenchantBehavior.Disenchanting())
            {
                return(true);
            }
            if (await VendorBehavior.Vendoring())
            {
                return(true);
            }
            if (await MailBehavior.Mailing())
            {
                return(true);
            }

            if (Player.Inventory.TotalFreeSlots < BaseSettings.CurrentSettings.MinimumBagSlotsFree || ForceBagCheck)
            {
                ForceBagCheck = false;

                if (VendorBehavior.ShouldVendor)
                {
                    GarrisonBase.Debug("Enabling Vendor behavior!");
                    VendorBehavior.IsVendoring = true;
                }

                if (MailBehavior.ShouldMail)
                {
                    GarrisonBase.Debug("Enabling Mailing behavior!");
                    MailBehavior.IsMailing = true;
                }

                if (DisenchantBehavior.ShouldDisenchant)
                {
                    GarrisonBase.Debug("Enabling Disenchanting behavior!");
                    DisenchantBehavior.IsDisenchanting = true;
                }

                if (VendorBehavior.IsVendoring || MailBehavior.ShouldMail || DisenchantBehavior.ShouldDisenchant)
                {
                    _originalTargetManagerLoot = TargetManager.ShouldLoot;
                    _originalTargetManagerKill = TargetManager.ShouldKill;
                    TargetManager.ShouldKill   = false;
                    TargetManager.ShouldLoot   = false;
                    _resetTargetManager        = true;
                    return(true);
                }
            }

            if (_resetTargetManager)
            {
                _resetTargetManager      = false;
                TargetManager.ShouldKill = _originalTargetManagerKill;
                TargetManager.ShouldLoot = _originalTargetManagerLoot;
            }

            return(false);
        }