public static ItemCostXml GetSellCostOverride(InventoryItemTypeEnum inventoryItemType, int itemLvl,
                                                      RarityEnum itemRarity)
        {
            var lvlRange = RespecCostsLevel.FirstOrDefault(key => key.LevelMin <= itemLvl && itemLvl <= key.LevelMax);

            if (lvlRange == null)
            {
                return(new ItemCostXml(CapitalResourceTypeEnum.cCapResCoin, 0));
            }

            var result     = lvlRange.Cost;
            var budgetInfo = ItemBudgetInfo.FirstOrDefault(key => key.InventoryItemType == inventoryItemType);

            if (budgetInfo != null)
            {
                var budgetModifier = budgetInfo.BudgetModifier;
                var rarityInfo     = RarityInfo.FirstOrDefault(key => key.Rarity == itemRarity);
                result = lvlRange.Cost + budgetModifier * rarityInfo?.Factor ?? lvlRange.Cost + budgetModifier;
            }

            if (result < 0)
            {
                result = 0;
            }

            return(new ItemCostXml(CapitalResourceTypeEnum.cCapResCoin, result));
        }
 public void AddIntoContainer(PlayerItem item)
 {
     try
     {
         ItemsEnum  itemType = AnalyzeBaseRecord(item.baserecord);
         RarityEnum rarity   = RarityEnumHelpers.StringToRarityEnum(item.Rarity);
         containedItemTypes.Add(itemType);
         containedRarities.Add(rarity);
         if (!ItemsDict.ContainsKey(itemType))
         {
             ItemsDict.Add(itemType, new Dictionary <RarityEnum, List <PlayerItem> >());
         }
         if (!ItemsDict[itemType].ContainsKey(rarity))
         {
             ItemsDict[itemType].Add(rarity, new List <PlayerItem>()
             {
                 item
             });
         }
         else
         {
             ItemsDict[itemType][rarity].Add(item);
         }
     }
     catch (Exception ex)
     {
         log.Error("Error while adding item to dict:", ex);
     }
 }
Exemple #3
0
    public static void GetRarityDetails(RarityEnum rarity, out string rarityName, out Color rarityColor)
    {
        rarityName  = "";
        rarityColor = Color.black;
        switch (rarity)
        {
        case RarityEnum.Normal:
            rarityName  = TextHandler.Instance.manager.GetTextById(105);
            rarityColor = new Color(0.81f, 0.27f, 0.1f, 0.3f);
            break;

        case RarityEnum.Rare:
            rarityName  = TextHandler.Instance.manager.GetTextById(106);
            rarityColor = new Color(0f, 0.35f, 0.83f, 0.3f);
            break;

        case RarityEnum.SuperRare:
            rarityName  = TextHandler.Instance.manager.GetTextById(107);
            rarityColor = new Color(0.8f, 0f, 0.7f, 0.3f);
            break;

        case RarityEnum.SuperiorSuperRare:
            rarityName  = TextHandler.Instance.manager.GetTextById(108);
            rarityColor = new Color(0f, 1f, 0f, 0.3f);
            break;

        case RarityEnum.UltraRare:
            rarityName = TextHandler.Instance.manager.GetTextById(109);
            break;
        }
    }
Exemple #4
0
 protected Weapon(RarityEnum rarity, string name, int baseMinDamage, int baseMaxDamage, int slots)
 {
     this.Rarity        = rarity;
     this.Name          = name;
     this.BaseMinDamage = baseMinDamage;
     this.BaseMaxDamage = baseMaxDamage;
     this.slots         = new IGem[slots];
 }
    /// <summary>
    /// 设置数据
    /// </summary>
    /// <param name="foodData"></param>
    public void SetData(MenuInfoBean foodData, int foodLevel)
    {
        if (foodData != null)
        {
            //设置图标
            srFood.sprite = InnFoodHandler.Instance.manager.GetFoodSpriteByName(foodData.icon_key);
            //设置动画
            if (!CheckUtil.StringIsNull(foodData.anim_key))
            {
                AnimationClip animationClip = InnFoodHandler.Instance.manager.GetFoodAnimByName(foodData.anim_key);
                if (animationClip != null)
                {
                    animForFood.enabled    = true;
                    aocForFood["Original"] = animationClip;
                }
                else
                {
                    animForFood.enabled = false;
                }
            }
            else
            {
                animForFood.enabled = false;
            }
        }

        objGoodFood.SetActive(false);
        objPrefectFood.SetActive(false);
        if (foodData != null)
        {
            RarityEnum rarity = foodData.GetRarity();
            switch (rarity)
            {
            case RarityEnum.SuperRare:
                objPrefectFood.SetActive(true);
                break;

            case RarityEnum.SuperiorSuperRare:
                objGoodFood.SetActive(true);
                objPrefectFood.SetActive(true);
                break;
            }
        }
        //switch (foodLevel)
        //{
        //    case -1:
        //        objBadFood.SetActive(true);
        //        break;
        //    case 0:
        //        break;
        //    case 1:
        //        objGoodFood.SetActive(true);
        //        break;
        //    case 2:
        //        objPrefectFood.SetActive(true);
        //        break;
        //}
    }
Exemple #6
0
 public void GetRandomDictionaryKeyTest()
 {
     for (int i = 0; i < iterations; i++)
     {
         RarityEnum value = RarityEnumDictionary.GetRandomKey();
         Debug.Log($"GetRandomDictionaryKeyTest : {value}");
         Assert.NotNull(value);
     }
 }
Exemple #7
0
        public override void Execute()
        {
            string[]   commandArgs = this.Data.Split(';');
            string[]   weaponArgs  = commandArgs[0].Split();
            RarityEnum rarity      = (RarityEnum)Enum.Parse(typeof(RarityEnum), weaponArgs[0], true);
            string     weaponType  = weaponArgs[1];
            string     weaponName  = commandArgs[1];

            WeaponFactory weaponFactory = new WeaponFactory();
            IWeapon       weapon        = weaponFactory.CreateWeapon(rarity, weaponType, weaponName);

            this.Repository.AddWeapon(weapon);
        }
Exemple #8
0
        public IWeapon CreateWeapon(RarityEnum Rarity, string weaponType, string weaponName)
        {
            Assembly assembly = Assembly.GetExecutingAssembly();
            Type     type     = assembly.GetTypes().FirstOrDefault(t => t.Name == weaponType);

            if (type == null)
            {
                throw new ArgumentException("Invalid Weapon Type!");
            }

            if (!(typeof(IWeapon).IsAssignableFrom(type)))
            {
                throw new ArgumentException($"{type} is not a Weapon!");
            }

            return((IWeapon)Activator.CreateInstance(type, new object[] { Rarity, weaponName }));
        }
Exemple #9
0
 /// <summary>
 /// 设置背景
 /// </summary>
 /// <param name="npcType"></param>
 public void SetBackground(RarityEnum rarity)
 {
     if (ivCardBG == null || ivHaloBG == null)
     {
         return;
     }
     if (rarity != RarityEnum.Normal)
     {
         ivCardBG.sprite = spBGRare;
         ivHaloBG.color  = colorForRare;
         tvName.color    = colorForRare;
     }
     else
     {
         ivCardBG.sprite = spBGNormal;
         ivHaloBG.color  = colorForNormal;
         tvName.color    = colorForNormal;
     }
 }
        public static string RarityToTextColorString(RarityEnum rarity)
        {
            switch (rarity)
            {
            case RarityEnum.Purple:
                return("DarkOrchid");

            case RarityEnum.Green:
                return("Green");

            case RarityEnum.Blue:
                return("RoyalBlue");

            case RarityEnum.White:
                return("");

            default:
                return("");
            }
        }
Exemple #11
0
    public void Initialize(string name, int number, RarityEnum rarityEnum, Sprite cardSprite, bool sellable = false, bool isFoil = false)
    {
        Name       = name;
        Number     = number;
        Rarity     = rarityEnum;
        CardSprite = cardSprite;
        if (isFoil)
        {
            IsFoil = isFoil;
            FoilGameObject.SetActive(true);
        }
        SetSellable(sellable);
        var image = gameObject.GetComponent <Image>();

        image.sprite = CardSprite;

        NameText.text   = name;
        RarityText.text = Rarity.ToString();
        if (Rarity == RarityEnum.Uncommon)
        {
            RarityText.fontSize = 16;
        }
        NumberText.text = Number + " / 150";
    }
Exemple #12
0
    public static GameObject GetRandomCard()
    {
        var        rarityCounter = Random.Range(0, 142);
        RarityEnum rarity        = RarityEnum.Common;

        if (rarityCounter <= 100)
        {
            rarity = RarityEnum.Common;
        }
        else if (rarityCounter > 100 && rarityCounter <= 130)
        {
            rarity = RarityEnum.Uncommon;
        }
        else if (rarityCounter > 130 && rarityCounter <= 140)
        {
            rarity = RarityEnum.Rare;
        }
        else if (rarityCounter > 140 && rarityCounter <= 142)
        {
            rarity = RarityEnum.Mythic;
        }

        return(GetCard(rarity, true));
    }
Exemple #13
0
 /// <summary>
 /// 设置菜单等级
 /// </summary>
 /// <param name="menuClass"></param>
 public void SetMenuClass(RarityEnum menuRarity)
 {
     RarityEnumTools.GetRarityDetails(menuRarity, out string rarityName, out Color rarityColor);
     tvMenuRarity.text  = rarityName;
     tvMenuRarity.color = rarityColor;
 }
Exemple #14
0
 public Knife(RarityEnum rarity, string name) : base(rarity, name, 3, 4, 2)
 {
 }
Exemple #15
0
 public Sword(RarityEnum rarity, string name) : base(rarity, name, 4, 6, 3)
 {
 }
Exemple #16
0
 public KeyRewardAction(RewardData reward, RarityEnum rarity, string friendId)
     : base(reward, rarity, friendId)
 {
 }
Exemple #17
0
 public MultiplyCoinRewardAction(RewardData reward, RarityEnum rarity, string friendId)
     : base(reward, rarity, friendId)
 {
     m_coinAmount = Singleton <WorldRunner> .Instance.MainBiomeConfig.Value.BlockReward * PersistentSingleton <GameSettings> .Instance.ChestRewardCoinBiomeMult * base.Reward.Amount;
 }
Exemple #18
0
 public ChestRewardConfig(RewardData reward, RarityEnum rarity)
 {
     Reward = reward;
     Rarity = rarity;
 }
Exemple #19
0
    public static GameObject GetCard(RarityEnum rarityEnum = RarityEnum.Common, bool withFoil = true, int index = -1)
    {
        GameObject card;

        //if (index > -1) //TODO add cards by their number
        //{
        //    card = CardsList.FirstOrDefault(x => x.GetComponent<CardController>().Number == index+1);
        //    card.GetComponent<CardController>().Discover();
        //    return card;
        //}

        if (rarityEnum == RarityEnum.Common)
        {
            int range = Random.Range(0, 79) * 2;
            if (withFoil)
            {
                if (Random.Range(0, 24) == 5)
                {
                    range += 1;
                }
            }
            card = CardsList[range];
            card.GetComponent <CardController>().Discover();
            return(card);
        }
        if (rarityEnum == RarityEnum.Uncommon)
        {
            int range = Random.Range(80, 119) * 2;
            if (withFoil)
            {
                if (Random.Range(0, 24) == 5)
                {
                    range += 1;
                }
            }
            card = CardsList[range];
            card.GetComponent <CardController>().Discover();
            return(card);
        }
        if (rarityEnum == RarityEnum.Rare)
        {
            int range = Random.Range(120, 139) * 2;
            if (withFoil)
            {
                if (Random.Range(0, 24) == 5)
                {
                    range += 1;
                }
            }
            card = CardsList[range];
            card.GetComponent <CardController>().Discover();
            return(card);
        }
        if (rarityEnum == RarityEnum.Mythic)
        {
            int range = Random.Range(140, 149) * 2;
            if (withFoil)
            {
                if (Random.Range(0, 24) == 5)
                {
                    range += 1;
                }
            }
            card = CardsList[range];
            card.GetComponent <CardController>().Discover();
            return(card);
        }

        return(CardsList[0]);
    }
Exemple #20
0
    public static RewardAction ToRewardAction(RewardData reward, RarityEnum rarity, int numUnlockedHeros = -1, string friendId = null, int heroIndex = -1)
    {
        switch (reward.Type)
        {
        case RewardEnum.Bottle:
            return(null);

        case RewardEnum.AddToGems:
            return(new GemRewardAction(reward, rarity, friendId));

        case RewardEnum.AddToRelics:
            return(new RelicRewardAction(reward, rarity, friendId));

        case RewardEnum.AddToKeys:
            return(new KeyRewardAction(reward, rarity, friendId));

        case RewardEnum.AddToCoins:
            return(new AddCoinRewardAction(reward, rarity, friendId));

        case RewardEnum.MultiplyCoins:
            return(new MultiplyCoinRewardAction(reward, rarity, friendId));

        case RewardEnum.AddToSkillAutoMine:
            return(new SkillRewardAction(reward, rarity, SkillsEnum.AutoMine, friendId));

        case RewardEnum.AddToSkillTeamBoost:
            return(new SkillRewardAction(reward, rarity, SkillsEnum.TeamBoost, friendId));

        case RewardEnum.AddToSkillTapBoost:
            return(new SkillRewardAction(reward, rarity, SkillsEnum.TapBoost, friendId));

        case RewardEnum.AddToSkillGoldfinger:
            return(new SkillRewardAction(reward, rarity, SkillsEnum.Goldfinger, friendId));

        case RewardEnum.AddToSkillTNT:
            return(new SkillRewardAction(reward, rarity, SkillsEnum.TNT, friendId));

        case RewardEnum.AddToSkillRandomUnlocked:
            return(new SkillRewardAction(reward, rarity, (SkillsEnum)Random.Range(0, 5), friendId));

        case RewardEnum.AddToBerries:
            return(new BerryRewardAction(reward, rarity, Random.Range(1, numUnlockedHeros), friendId));

        case RewardEnum.AddToSpecificBerries:
            return(new BerryRewardAction(reward, rarity, heroIndex, friendId));

        case RewardEnum.AddChestGold:
            return(new GoldChestRewardAction(reward, rarity, friendId));

        case RewardEnum.AddChestSilver:
            return(new SilverChestRewardAction(reward, rarity, friendId));

        case RewardEnum.AddChestBronze:
            return(new BronzeChestRewardAction(reward, rarity, friendId));

        case RewardEnum.AddToMedals:
            return(new MedalRewardAction(reward, rarity, friendId));

        default:
            return(null);
        }
    }
Exemple #21
0
 public BerryRewardAction(RewardData reward, RarityEnum rarity, int heroIndex, string friendId)
     : base(reward, rarity, friendId)
 {
     HeroIndex = heroIndex;
 }
Exemple #22
0
 public SilverChestRewardAction(RewardData reward, RarityEnum rarity, string friendId)
     : base(reward, rarity, friendId)
 {
 }
Exemple #23
0
 public RewardAction(RewardData reward, RarityEnum rarity, string friendId)
 {
     Reward   = reward;
     Rarity   = rarity;
     FriendId = friendId;
 }
 public RarityInfo(RarityEnum rarity, double factor)
 {
     Rarity = rarity;
     Factor = factor;
 }
Exemple #25
0
 public Card(string title, RarityEnum rarity)
     : this(title, Guid.NewGuid(), rarity)
 {
 }
Exemple #26
0
 public Axe(RarityEnum rarity, string name) : base(rarity, name, 5, 10, 4)
 {
 }
 public ICard Create(string title, RarityEnum rarity)
 {
     return(new Card(title, rarity));
 }
Exemple #28
0
 internal EnumRarity(RarityEnum type, int rarityColor, string name)
 {
     this.Enum = type;
 }
 public static string ToLocalizedString(this RarityEnum rarity, ILanguages languages,
                                        string language = "English")
 {
     return(ToLocalizedString((CRarityEnum)rarity, languages, language));
 }
Exemple #30
0
        private static PrinterConfig ConfigFromConsoleInput()
        {
            PrinterConfig config = new PrinterConfig();

            Console.WriteLine("Set ItemLevel (enter for defaultvalue 84):");
            string itemLevelString = Console.ReadLine();
            int    itemLevel       = -1;

            if (!String.IsNullOrWhiteSpace(itemLevelString) && !Int32.TryParse(itemLevelString, out itemLevel))
            {
                Console.WriteLine("ItemLevel has to be an integer.");
                return(null);
            }
            if (itemLevel >= 0)
            {
                config.ItemLevel = itemLevel;
            }

            Console.WriteLine("Set rarity all rarities below selected rarity will not be shown.");
            Console.WriteLine("Rarityorder: white < blue < green < purple (enter for defaultvalue purple)");
            string rarity = Console.ReadLine();

            if (!String.IsNullOrWhiteSpace(rarity) && !allowedRarities.Contains(rarity.ToLower()))
            {
                Console.WriteLine("Entered Rarity not valid.");
                return(null);
            }
            RarityEnum rarityEnum = RarityEnumHelpers.StringToRarityEnum(rarity);

            if (!String.IsNullOrWhiteSpace(rarity))
            {
                config.Rarity = rarityEnum;
            }

            HashSet <string> excludedGreens = new HashSet <string>();

            if (rarityEnum != RarityEnum.Purple)
            {
                Console.WriteLine("Exclude specific items (case insensitive) (multiple items seperated by , ) (enter for no filtering):");
                Console.WriteLine("Example: Spectral Longsword, Troll Bonecrusher");
                var temp = Console.ReadLine();
                if (!String.IsNullOrWhiteSpace(temp))
                {
                    excludedGreens = PrinterConfigHelpers.ProcessExcludeGreensInput(temp);
                }
                config.ExcludedGreens.UnionWith(excludedGreens);
            }

            Console.WriteLine("Output Path without filename (defaultpath = Desktop\\GrimIAPrinterOutput):");
            Console.WriteLine("Example: C:\\Users\\Test\\Desktop\\");
            string outputPath = Console.ReadLine();

            if (!String.IsNullOrWhiteSpace(outputPath))
            {
                config.OutputPath = outputPath;
            }

            Console.WriteLine("Enter Outputformat (enter for default = plaintext)");
            Console.Write("Options: ");
            bool firstOption = true;

            foreach (var option in Enum.GetNames(typeof(FormatEnum)))
            {
                if (!firstOption)
                {
                    Console.Write(", ");
                }
                else
                {
                    firstOption = false;
                }
                Console.Write(option);
            }
            Console.WriteLine();
            string formatOption = Console.ReadLine();

            if (!String.IsNullOrWhiteSpace(formatOption))
            {
                config.Format = FormatEnumHelpers.StringToFormatEnum(formatOption);
            }

            return(config);
        }
Exemple #31
0
 public Card(string title, Guid cardId, RarityEnum rarity)
 {
     Title  = title;
     CardId = cardId;
     Rarity = rarity;
 }