Exemplo n.º 1
0
    public void Init(PSoulAttr rSoulAttr)
    {
        var soulInfo = ConfigManager.Get <SoulInfo>(rSoulAttr?.soulId ?? 0);

        ownNode.SafeSetActive(soulInfo != null);
        noneNode.SafeSetActive(soulInfo == null);
        if (soulInfo == null)
        {
            return;
        }

        var t = GetSoulInfo(rSoulAttr);

        Util.SetText(name, soulInfo.nameId);
        Util.SetText(awakePercent, t.Item1);
        Util.SetText(grade, t.Item2);
        Util.SetText(desc, soulInfo.descId);
        AtlasHelper.SetShared(icon, soulInfo.icon);

        Util.ClearChildren(attributeGroup);
        for (var i = 0; i < t.Item3.Length; i++)
        {
            var a = attributeGroup.AddNewChild(attributeTemplate);
            a.SafeSetActive(true);
            Util.SetText(a?.gameObject, t.Item3[i]);
        }
    }
Exemplo n.º 2
0
    public static Tuple <string, string, string[]> GetSoulInfo(PSoulAttr rSoulAttr)
    {
        if (null == rSoulAttr)
        {
            return(Tuple.Create(string.Empty, string.Empty, new string[0]));
        }

        var percent = rSoulAttr.myriadRate * 0.0001f;
        var value   = Util.RemapValue(percent, 0, 1,
                                      GeneralConfigInfo.defaultConfig.soulMapRange[0], GeneralConfigInfo.defaultConfig.soulMapRange[1]);
        var item1 = $"{value:P2}";

        var ct    = ConfigManager.Get <ConfigText>(8000);
        var index = (int)(percent * ct.text.Length);

        index = Mathf.Clamp(index, 0, ct.text.Length - 1);
        var item2 = ct[index];

        string[] arr = new string[rSoulAttr.soulAttrs.Length];
        for (var i = 0; i < arr.Length; i++)
        {
            arr[i] = $"{ rSoulAttr.soulAttrs[i].TypeString()}+" +
                     $"{ rSoulAttr.soulAttrs[i].ValueString()}";
        }


        return(Tuple.Create(item1, item2, arr));
    }
    private void RefreshInfo(PSoulAttr rAttr)
    {
        soulEntry.Init(rAttr);

        var soulInfo = ConfigManager.Get <SoulInfo>(rAttr.soulId);

        if (null == soulInfo)
        {
            return;
        }

        UIDynamicImage.LoadImage(soulInfo.portrait, t =>
        {
            sprite.SafeSetActive(t);
        }, false, sprite.transform);

        AtlasHelper.SetRune(spriteShadow, soulInfo.shodow);
    }
Exemplo n.º 4
0
    private void RefreshDiscardCost(PSoulAttr prevSoulAttr)
    {
        var soulInfo = ConfigManager.Get <SoulInfo>(prevSoulAttr.soulId);

        if (null == soulInfo?.discardCosts)
        {
            return;
        }
        for (var i = 0; i < soulInfo.discardCosts.Length; i++)
        {
            var prop = ConfigManager.Get <PropItemInfo>(soulInfo.discardCosts[i].itemId);
            if (prop)
            {
                AtlasHelper.SetIcons(discardCostIcon, prop.icon);
            }

            if (soulInfo.discardCosts[i].itemId == 2)
            {
                Util.SetText(discardCost, soulInfo.discardCosts[i].count.ToString());
                discardCost.color = ColorGroup.GetColor(ColorManagerType.IsMoneyEnough,
                                                        soulInfo.discardCosts[i].count <= modulePlayer.gemCount);
                return;
            }
            else if (soulInfo.discardCosts[i].itemId == 1)
            {
                Util.SetText(discardCost, soulInfo.discardCosts[i].count.ToString());
                discardCost.color = ColorGroup.GetColor(ColorManagerType.IsMoneyEnough,
                                                        soulInfo.discardCosts[i].count <= modulePlayer.coinCount);
                return;
            }
            else
            {
                Util.SetText(discardCost, soulInfo.discardCosts[i].count.ToString());
                discardCost.color = ColorGroup.GetColor(ColorManagerType.IsMatrialEnough,
                                                        soulInfo.discardCosts[i].count <= moduleEquip.GetPropCount(soulInfo.discardCosts[i].count));
            }
        }
    }