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]); } }
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); }
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)); } } }