protected override Comparison <OutfitVO> GetComparer(int sortIndex) { InventoryModel inventory = AmbitionApp.Inventory; // Careful here, this is using the loc key to select the comparer. It's definitely cheating. if (Enum.TryParse <FactionType>(SortParams[sortIndex], true, out FactionType faction) && faction != FactionType.None) { return((x, y) => - inventory.GetFactionBonus(x, faction).CompareTo(inventory.GetFactionBonus(y, faction))); } return((x, y) => - x.Price.CompareTo(y.Price)); }
private void HandleOutfit(ItemVO item) { OutfitVO outfit = item as OutfitVO; if (outfit != null) { InventoryModel inventory = AmbitionApp.Inventory; int credShift; if (FactionEffectsBtn != null) { FactionEffectsBtn.interactable = true; } if (OutfitDescriptionText != null) { OutfitDescriptionText.text = GetOutfitDescription(outfit); } OutfitNameText.text = AmbitionApp.Localization.GetItemName(outfit); foreach (FactionTextEffect effect in FactionEffects) { credShift = inventory.GetFactionBonus(outfit, effect.Faction); effect.Text.text = (credShift > 0 ? "+" : "") + credShift.ToString(); effect.Text.color = credShift > 0 ? PositiveEffectTxtColor : credShift < 0 ? NegativeEffectTxtColor : NeutralEffectTxtColor; effect.Text.fontStyle = (credShift == 0) ? FontStyle.Normal : FontStyle.Bold; } } else { foreach (FactionTextEffect effect in FactionEffects) { effect.Text.text = "0"; effect.Text.color = NeutralEffectTxtColor; effect.Text.fontStyle = FontStyle.Normal; } } }