Ejemplo n.º 1
0
        private void ScoreboardStrip_UpdateMoneyText(On.RoR2.UI.ScoreboardStrip.orig_UpdateMoneyText orig, ScoreboardStrip self)
        {
            var master = self.GetFieldValue <CharacterMaster>("master");

            if (master?.inventory is null)
            {
                return;
            }

            var tierCountMap         = Utils.GetTierCounts(master.inventory);
            var tierCountMapFiltered = tierCountMap.Where(kv => kv.Value > 0);
            var itemCount            = tierCountMap.Sum(kv => kv.Value);

            StringBuilder sb = new StringBuilder();

            if (itemCount > 0)
            {
                sb.Append($"<nobr><color=#FFF>{itemCount} ");
                sb.Append("[");
                foreach (var pair in tierCountMapFiltered)
                {
                    string tierCount = pair.Value.ToString().Colorize(Utils.TierToHexString(pair.Key));
                    sb.Append($"{tierCount}");
                    sb.Append(" ");
                }
                if (sb[sb.Length - 1] == ' ')
                {
                    sb[sb.Length - 1] = ']';
                }

                sb.Append("</color></nobr>\n<nobr>");
            }
            sb.Append($"${master.money}</nobr>");
            self.moneyText.text         = sb.ToString();
            self.moneyText.overflowMode = TMPro.TextOverflowModes.Overflow;
        }
Ejemplo n.º 2
0
        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();
            }
        }
Ejemplo n.º 3
0
 private void ScoreboardStrip_SetMaster(On.RoR2.UI.ScoreboardStrip.orig_SetMaster orig, ScoreboardStrip self, CharacterMaster newMaster)
 {
     orig(self, newMaster);
     self.moneyText.GetComponent <LayoutElement>().preferredWidth = 200f;
 }
Ejemplo n.º 4
0
        internal void ScoreboardStrip_SetMaster(On.RoR2.UI.ScoreboardStrip.orig_SetMaster orig, ScoreboardStrip self, CharacterMaster master)
        {
            orig(self, master);

            self.nameLabel.lineSpacing        = -20;
            self.nameLabel.overflowMode       = TMPro.TextOverflowModes.Truncate;
            self.nameLabel.enableWordWrapping = false;
            self.moneyText.overflowMode       = TMPro.TextOverflowModes.Overflow;
        }