public ExecCatalysItem(CatalysItemType type, int count = 1) : base(ExecutableType.catalys, count,Formuls.CostCatalys(type)) { IconSprite = UnityEngine.Resources.Load<Sprite>("sprites/Catalys/" + type.ToString()); ItemType = type; name = type.ToString(); }
public void Init(RecipeItem recipeItem,CatalysItemType? type) { Utils.ClearTransform(LayoutSpecials); var totalPoints = Formuls.GetPlayerItemPointsByLvl(recipeItem.Level) * Formuls.GetSlotCoef(recipeItem.recipeSlot); float min; float max; switch (recipeItem.recipeSlot) { case Slot.physical_weapon: case Slot.magic_weapon: if (type.HasValue) { var spedAbilities = RecipeItem.PosibleAbilities(type.Value); foreach (var specialAbility in spedAbilities) { var icon = DataBaseController.Instance.SpecialAbilityIcon(specialAbility); var img = Instantiate(PrefabSpecialIcon).GetComponent<Image>(); img.sprite = icon; img.transform.SetParent(LayoutSpecials,false); } } min = totalPoints * 0.5f; max = totalPoints; MainParameterField.text = min.ToString("0") + " - " + max.ToString("0"); switch (recipeItem.recipeSlot) { case Slot.physical_weapon: MainParameterIcon.sprite = DataBaseController.Instance.ParameterIcon(ParamType.PPower); break; case Slot.magic_weapon: MainParameterIcon.sprite = DataBaseController.Instance.ParameterIcon(ParamType.MPower); break; } break; case Slot.body: case Slot.helm: min = totalPoints * 0.5f; max = totalPoints; switch (recipeItem.recipeSlot) { case Slot.body: MainParameterIcon.sprite = DataBaseController.Instance.ParameterIcon(ParamType.PDef); break; case Slot.helm: MainParameterIcon.sprite = DataBaseController.Instance.ParameterIcon(ParamType.MDef); break; } var secondary = HeroShopRandomItem.GetSecondaryParam(totalPoints, recipeItem.recipeSlot); var prm = Instantiate(PrefabSecondaryParam); var img2 = prm.GetComponent<Image>(); var filed = prm.GetComponentInChildren<Text>(); var minS = secondary.Value*0.5f; var maxS = secondary.Value; MainParameterField.text = min.ToString("0") + " - " + max.ToString("0"); string info = ""; Sprite spr = null; if (type.HasValue) { switch (type.Value) { case CatalysItemType.red: min *= 1.25f; max *= 1.25f; MainParameterField.text = min.ToString("0") + " - " + max.ToString("0"); break; case CatalysItemType.blue: break; case CatalysItemType.green: info = "Chance to get new talisman."; break; case CatalysItemType.black: min *= 1f; max *= 1.5f; MainParameterField.text = min.ToString("0") + " - " + max.ToString("0"); break; case CatalysItemType.white: info = "cost x2"; spr = DataBaseController.Instance.ItemIcon(ItemId.money); break; } } else { info = minS.ToString("0") + " - " + maxS.ToString("0"); spr = DataBaseController.Instance.ParameterIcon(secondary.Key); } filed.text = info; if (spr == null) { img2.enabled = false; } img2.sprite = spr; img2.transform.SetParent(LayoutSpecials, false); break; case Slot.Talisman: break; } }
public static int CostCatalys(CatalysItemType t) { return 900; }
public static List<SpecialAbility> PosibleAbilities(CatalysItemType type) { List<SpecialAbility> spedAbilities = null; switch (type) { case CatalysItemType.red: spedAbilities = new List<SpecialAbility>() { SpecialAbility.clear,SpecialAbility.critical }; break; case CatalysItemType.blue: spedAbilities = new List<SpecialAbility>() { SpecialAbility.distance,SpecialAbility.hp }; break; case CatalysItemType.green: spedAbilities = new List<SpecialAbility>() { SpecialAbility.shield,SpecialAbility.vampire }; break; case CatalysItemType.black: spedAbilities = new List<SpecialAbility>() { SpecialAbility.slow,SpecialAbility.stun }; break; case CatalysItemType.white: spedAbilities = new List<SpecialAbility>() { SpecialAbility.removeDefence,SpecialAbility.critical }; break; } return spedAbilities; }