Ejemplo n.º 1
0
    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 + " %";
    }
Ejemplo n.º 2
0
    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);
    }
Ejemplo n.º 3
0
    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();
    }