internal void ScoreboardStrip_Update(On.RoR2.UI.ScoreboardStrip.orig_Update orig, ScoreboardStrip self) { orig(self); if (self.master && self.master.inventory) { BetterUI.sharedStringBuilder.Clear(); BetterUI.sharedStringBuilder.Append(Util.GetBestMasterName(self.master)); BetterUI.sharedStringBuilder.Append("\n<#F8FC97>"); BetterUI.sharedStringBuilder.Append(self.master.money); BetterUI.sharedStringBuilder.Append("</color>"); self.nameLabel.text = BetterUI.sharedStringBuilder.ToString(); BetterUI.sharedStringBuilder.Clear(); BetterUI.sharedStringBuilder.Append("<#FFFFFF>"); if (mod.config.ItemCountersShowItemSum.Value) { itemSum = 0; foreach (var tier in mod.config.ItemCountersItemSumTiers) { itemSum += self.master.inventory.GetTotalItemCountOfTier(tier); } BetterUI.sharedStringBuilder.Append(itemSum); if (mod.config.ItemCountersShowItemScore.Value) { BetterUI.sharedStringBuilder.Append(" | "); } } if (mod.config.ItemCountersShowItemScore.Value) { itemScore = 0; foreach (var item in self.master.inventory.itemAcquisitionOrder) { int value; itemScore += mod.config.ItemCountersItemScores.TryGetValue(ItemCatalog.GetItemDef(item).nameToken, out value) ? value * self.master.inventory.GetItemCount(item) : 0; } BetterUI.sharedStringBuilder.Append(itemScore); } if (mod.config.ItemCountersShowItemsByTier.Value) { BetterUI.sharedStringBuilder.Append("\n"); foreach (var tier in mod.config.ItemCountersItemsByTierOrder) { BetterUI.sharedStringBuilder.Append(" <#"); BetterUI.sharedStringBuilder.Append(tierColorMap[(int)tier]); BetterUI.sharedStringBuilder.Append(">"); BetterUI.sharedStringBuilder.Append(self.master.inventory.GetTotalItemCountOfTier(tier)); BetterUI.sharedStringBuilder.Append("</color>"); } } BetterUI.sharedStringBuilder.Append("</color>"); self.moneyText.text = BetterUI.sharedStringBuilder.ToString(); } }
private void SetItemCountDisplay( On.RoR2.UI.ScoreboardStrip.orig_Update orig, RoR2.UI.ScoreboardStrip self ) { orig(self); var master = self.GetFieldValue <CharacterMaster>("master"); self.moneyText.text = string.Format("{0} Items ${1}", GetItemCount(master), master.money); }