コード例 #1
0
 private void DoGiveItems(List <int> shop, MysteriousTraderItemRarity rare, int num, ref int extraChances)
 {
     for (int i = 0; i < num; i++)
     {
         if (GiveShopRandomItem(shop, rare, false) == false && extraChances > 0)
         {
             i--;
             extraChances--;
         }
     }
     GiveShopRandomItem(shop, rare, true);
 }
コード例 #2
0
        internal object RegisterItem(Mod mod, int item, MysteriousTraderItemRarity rare, Func <bool> condition)
        {
            try
            {
                MysteriousTraderItemSource source = mod.Name == PboneUtils.Instance.Name ? MysteriousTraderItemSource.Base : MysteriousTraderItemSource.Call;
                Items.Add(new MysteriousTraderItem(item, source, condition), rare);

                if (source == MysteriousTraderItemSource.Call)
                {
                    AnyCall = true;
                }

                return(true);
            }
            catch
            {
                return(false);
            }
        }
コード例 #3
0
 private static object MyRegisterItem(int item, MysteriousTraderItemRarity rare, Func <bool> condition)
 => Instance.RegisterItem(PboneUtils.Instance, item, rare, condition);
コード例 #4
0
 private static object MyRegisterItem(int item, MysteriousTraderItemRarity rare)
 => Instance.RegisterItem(PboneUtils.Instance, item, rare, new Func <bool>(() => true));
コード例 #5
0
 private void FillRarity(MysteriousTraderItemRarity rarity, MysteriousTraderShopManager shopBuilder)
 {
     ItemCollections[rarity] = shopBuilder.Items.Where(k => k.Value == rarity).ToDictionary(k => k.Key).Keys.ToList();
 }