void SpawnLabel(int index, int variant, CollectorDatabase.ItemGet itemGet) { var obj = Instantiate(Prefab_CollectLabel, Columns[index].Content.transform, true); Item item = StaticValues.Items.Components[itemGet.id_item]; obj.GetComponent <StatLabel>().Icon.sprite = item.Icon; obj.GetComponent <StatLabel>().Name.text = "" + item.Name; int amount = itemGet.variants[variant].amount; switch (index) { case 0: if (StaticValues.Camp.ID_Workers.Hunter > 0) { amount += itemGet.variants[variant].amount * StaticValues.HunterData.multiplerPerception * StaticValues.Team[StaticValues.Camp.ID_Workers.Hunter - 1].currentStats.Base.perception / 100; } break; case 1: if (StaticValues.Camp.ID_Workers.Herbalist > 0) { amount += itemGet.variants[variant].amount * StaticValues.HerbalistData.multiplerPerception * StaticValues.Team[StaticValues.Camp.ID_Workers.Herbalist - 1].currentStats.Base.perception / 100; } break; case 2: if (StaticValues.Camp.ID_Workers.Lumberjack > 0) { amount += itemGet.variants[variant].amount * StaticValues.LumberjackData.multiplerPerception * StaticValues.Team[StaticValues.Camp.ID_Workers.Lumberjack - 1].currentStats.Base.perception / 100; } break; } obj.GetComponent <StatLabel>().Count.text = "x " + amount + "\n" + "Szansa: " + itemGet.variants[variant].rate + " %"; }
protected float CalculateRate(CollectorDatabase.ItemVariant variant, CollectorDatabase.ItemGet item, CollectorDatabase _my) { int count = 0; int index = item.variants.FindIndex(x => x == variant); foreach (var x in _my.Items) { count += x.variants[index].rate; } float result = 0; if (count > 0) { float calculate = (float)item.variants[index].rate / count * 100; result = (float)Math.Round(calculate, 2); } return(result); }
protected void ShowItem(CollectorDatabase.ItemGet item, CollectorDatabase _my) { GUILayout.BeginHorizontal("box"); GUILayout.BeginVertical("box", GUILayout.Height(60), GUILayout.Width(100)); GUILayout.FlexibleSpace(); GUILayout.Label(items.Components[item.id_item].Name, center); GUILayout.FlexibleSpace(); GUILayout.EndVertical(); foreach (var variant in item.variants) { GUILayout.BeginVertical("box", GUILayout.Height(60), GUILayout.Width(100)); GUILayout.FlexibleSpace(); variant.amount = EditorGUILayout.IntField("Amount:", variant.amount); if (variant.amount < 0) { variant.amount = 0; } variant.rate = EditorGUILayout.IntField("Rate:", variant.rate); if (variant.rate < 0) { variant.rate = 0; } if (variant.rate > 100) { variant.rate = 100; } if (variant.amount == 0) { variant.rate = 0; } GUILayout.Label("" + CalculateRate(variant, item, _my) + "%", center); GUILayout.FlexibleSpace(); GUILayout.EndVertical(); } GUILayout.EndHorizontal(); }