private static void ReSelect(SG_Shop_Screen __instance) { //Log($"attempting to select index {m_selectedIdx}"); if (m_selectedIdx > -1) { List <InventoryItemElement> list = GetActiveItems(__instance); if (list.Count > 0) { if (m_selectedIdx > list.Count - 1) { m_selectedIdx = list.Count - 1; } if (m_selectedIdx > -1) { //Log($"selecting item at index {m_selectedIdx}"); InventoryItemElement item = list[m_selectedIdx]; if (item != null) { if (item.gameObject.activeSelf) { item.buttonElement.ForceRadioSetSelection(); } __instance.OnItemSelected(item); } } } } }
public static void Postfix(InventoryItemElement __instance) { try { //Logger.Debug("[InventoryItemElement_SetData_POSTFIX] Expanding bonusText fields"); __instance.gearBonusText.enableAutoSizing = false; __instance.gearBonusText.enableWordWrapping = false; __instance.gearBonusText.overflowMode = TextOverflowModes.Overflow; __instance.gearBonusTextB.enableAutoSizing = false; __instance.gearBonusTextB.enableWordWrapping = false; __instance.gearBonusTextB.overflowMode = TextOverflowModes.Overflow; __instance.bonusStat1.enableAutoSizing = false; __instance.bonusStat1.enableWordWrapping = false; __instance.bonusStat1.overflowMode = TextOverflowModes.Overflow; __instance.bonusStat2.enableAutoSizing = false; __instance.bonusStat2.enableWordWrapping = false; __instance.bonusStat2.overflowMode = TextOverflowModes.Overflow; } catch (Exception e) { Logger.Error(e); } }
public static void Postfix(SG_Shop_ItemSelectedPanel __instance, InventoryItemElement ___SelectedItemWidget) { try { //Logger.Debug("[SG_Shop_ItemSelectedPanel_Initialize_POSTFIX] Expanding bonusText fields"); ___SelectedItemWidget.gearBonusText.enableAutoSizing = false; ___SelectedItemWidget.gearBonusText.enableWordWrapping = false; ___SelectedItemWidget.gearBonusText.overflowMode = TextOverflowModes.Overflow; ___SelectedItemWidget.gearBonusTextB.enableAutoSizing = false; ___SelectedItemWidget.gearBonusTextB.enableWordWrapping = false; ___SelectedItemWidget.gearBonusTextB.overflowMode = TextOverflowModes.Overflow; ___SelectedItemWidget.bonusStat1.enableAutoSizing = false; ___SelectedItemWidget.bonusStat1.enableWordWrapping = false; ___SelectedItemWidget.bonusStat1.overflowMode = TextOverflowModes.Overflow; ___SelectedItemWidget.bonusStat2.enableAutoSizing = false; ___SelectedItemWidget.bonusStat2.enableWordWrapping = false; ___SelectedItemWidget.bonusStat2.overflowMode = TextOverflowModes.Overflow; } catch (Exception e) { Logger.Error(e); } }
public static void Prefix(SG_Shop_Screen __instance, InventoryItemElement item) { if (m_needSaveSelected) { m_selectedIdx = GetActiveItems(__instance).IndexOf(item); //Log($"saving index {m_selectedIdx}"); } }
public static void ChangeBackColor(MechComponentDef cdef, InventoryItemElement theWidget) { try { theWidget.iconBGColors.SetColor(cdef); } catch (Exception ex) { Control.LogError(ex); } }
//[Conditional("COLORICON")] public static void ResetTextIconColor(InventoryItemElement theWidget) { var color_text = theWidget.itemName.GetComponent <UIColorRefTracker>(); var color_icon = theWidget.icon.GetComponent <UIColorRefTracker>(); if (color_icon != null) { color_icon.SetUIColor(UIColor.White); } color_text.SetUIColor(UIColor.White); }
public static bool ChangeColor(InventoryItemElement __instance, MechComponentRef ___componentRef) { try { __instance.iconBGColors.SetColor(___componentRef); } catch (Exception ex) { Control.LogError(ex); } return(false); }
public static bool ChangeColor(InventoryDataObject_InventoryGear __instance, InventoryItemElement theWidget) { try { theWidget.iconBGColors.SetColor(__instance.componentRef); } catch (Exception ex) { Control.LogError(ex); } return(false); }
public static bool ChangeColor(InventoryItemElement theWidget, InventoryDataObject_ShopWeapon __instance) { try { theWidget.iconBGColors.SetColor(__instance.weaponDef); } catch (Exception ex) { Control.LogError(ex); } return(false); }
public static bool ChangeColor(InventoryItemElement theWidget, InventoryDataObject_ShopGear __instance) { try { ColorExtentions.ChangeBackColor(__instance.componentDef, theWidget); TColorExtentions.ChangeTextIconColor(__instance.componentDef, theWidget); } catch (Exception ex) { Control.LogError(ex); } return(false); }
public static bool ChangeColor(InventoryDataObject_InventoryGear __instance, InventoryItemElement theWidget) { try { ColorExtentions.ChangeBackColor(__instance.componentRef.Def, theWidget); TColorExtentions.ChangeTextIconColor(__instance.componentRef.Def, theWidget); } catch { return(true); } return(false); }
public static bool ChangeColor(InventoryItemElement __instance, MechComponentRef ___componentRef) { try { ColorExtentions.ChangeBackColor(___componentRef.Def, __instance); TColorExtentions.ChangeTextIconColor(___componentRef.Def, __instance); } catch { return(true); } return(false); }
public void OnElementClicked(InventoryItemElement itemElement) { for (int i = 0; i < elements.Count; i++) { if (elements[i] == itemElement) { //ic?.SelectItem(itemElement.inventoryAssetPair); //itemElement.activeBorder.GetComponent<Image>().color = selectedColor; } else { //elements[i].activeBorder.GetComponent<Image>().color = inActiveColor; } } }
public static void Postfix(InventoryDataObject_InventoryGear __instance, InventoryItemElement theWidget) { try { if (HasOverrideColor(__instance.componentRef.Def, out Color overrideColor)) { UIColorRefTracker[] array = theWidget.iconBGColors; for (int i = 0; i < array.Length; i++) { array[i].OverrideWithColor(overrideColor); } } } catch (Exception e) { Logger.Error(e); } }
public static void Postfix(InventoryItemElement __instance, MechComponentRef ___componentRef) { try { if (HasOverrideColor(___componentRef.Def, out Color overrideColor)) { UIColorRefTracker[] array = __instance.iconBGColors; for (int i = 0; i < array.Length; i++) { array[i].OverrideWithColor(overrideColor); } } } catch (Exception e) { Logger.Error(e); } }
public static bool ChangeColor(InventoryDataObject_SalvageGear __instance, InventoryItemElement theWidget) { try { if (__instance.componentDef == null) { return(true); } theWidget.iconBGColors.SetColor(__instance.componentDef); return(false); } catch (Exception e) { Control.LogError(e); return(true); } }
public static bool ChangeColor(InventoryDataObject_SalvageWeapon __instance, InventoryItemElement theWidget) { try { if (__instance.componentDef == null) { return(true); } ColorExtentions.ChangeBackColor(__instance.weaponDef ?? __instance.componentDef, theWidget); TColorExtentions.ChangeTextIconColor(__instance.weaponDef ?? __instance.componentDef, theWidget); return(false); } catch (Exception e) { Control.LogError(e); return(true); } }
private static void AddYearToVariant(InventoryItemElement theWidget) { try { var dm = UnityGameInstance.BattleTechGame.Simulation.DataManager; DateTime?date = new DateTime(); foreach (var def in dm.MechDefs.Where(x => !x.Value.MechTags.Contains("BLACKLISTED"))) { if (def.Value.Description.UIName.Contains(theWidget.mechNameText.text)) { date = def.Value.MinAppearanceDate; } } theWidget.mechNameText.SetText($"{theWidget.mechNameText.text} ({date.Value.Year})"); } // ReSharper disable once EmptyGeneralCatchClause catch { } }
public void Populate(InventoryAssetResponse.Inventory[] inventories, Dictionary <int, int> numberOfInventories) { foreach (Transform tr in inventoryParent) { Destroy(tr.gameObject); } elements.Clear(); foreach (InventoryAssetResponse.Inventory inventory in inventories) { GameObject inventoryObject = Instantiate(inventoryPrefab, inventoryParent); InventoryItemElement element = inventoryObject.GetComponent <InventoryItemElement>(); bool isDefault = inventory.asset.id.ToString() == defaultAssetId; element.Init(inventory, isDefault, numberOfInventories[inventory.asset.id]); elements.Add(element); } //for (int i = 0; i < inventories.Length; i++) //{ // InventoryItemElement element = elements.FirstOrDefault(x => x.inventoryAssetPair.asset.id == inventories[i].asset.id); // if (element != null) // element.Init(inventories[i]); //} }
//[Conditional("COLORICON")] public static void ChangeTextIconColor(MechComponentDef cdef, InventoryItemElement theWidget) { var color_text = theWidget.itemName.GetComponent <UIColorRefTracker>(); var color_icon = theWidget.icon.GetComponent <UIColorRefTracker>(); if (color_icon == null) { color_icon = theWidget.icon.gameObject.AddComponent <UIColorRefTracker>(); } if (cdef.Is <ITColorComponent>(out var color)) { if (color.SkipText) { color_text.SetCustomColor(UIColor.White, Color.white); } else { color_text.SetCustomColor(color.UIColor, color.RGBColor); } if (color_icon != null) { if (color.SkipIcon) { color_icon.SetUIColor(UIColor.White); } else { color_icon.SetCustomColor(color.UIColor, color.RGBColor); } } } else { color_text.SetUIColor(UIColor.White); color_icon.SetUIColor(UIColor.White); } }
public static void Postfix(InventoryDataObject_SalvageWeapon __instance, InventoryItemElement theWidget) { try { if (__instance.componentDef == null) { return; } /* * // Colorize icon * UIColorRefTracker iconColor = theWidget.icon.GetComponent<UIColorRefTracker>(); * if (iconColor == null) * { * iconColor = theWidget.icon.gameObject.AddComponent<UIColorRefTracker>(); * } * iconColor.OverrideWithColor(Color.black); */ if (HasOverrideColor(__instance.componentDef, out Color overrideColor)) { UIColorRefTracker[] array = theWidget.iconBGColors; for (int i = 0; i < array.Length; i++) { array[i].OverrideWithColor(overrideColor); } } } catch (Exception e) { Logger.Error(e); } }
// replace the unused and broken sortBy_Type with a more comprehensive comparison public static bool Prefix(MechLabInventoryWidget __instance, InventoryItemElement a, InventoryItemElement b, ref int __result) { try { int num = 0; char[] trimChars = new char[] { '+', ' ' }; // check for shop first ShopDefItem s1 = a?.controller?.shopDefItem; ShopDefItem s2 = b?.controller?.shopDefItem; if (s1 != null || s2 != null) { //Log("comparing shop items..."); if (s1 != null && s2 != null) { __result = BetterSorting.GetShopDefSortVal(s2).CompareTo(BetterSorting.GetShopDefSortVal(s1)); } else if (s1 != null) { __result = -1; } else if (s2 != null) { __result = 1; } return(false); } WeaponDef weaponDef = a?.controller?.weaponDef; WeaponDef weaponDef2 = b?.controller?.weaponDef; if (weaponDef != null && weaponDef2 != null) { //Log("comparing two weapons"); // category (missile, ballistic...) num = weaponDef.Category.CompareTo(weaponDef2.Category); // sub-type (SRM,LRM...) if (num == 0) { num = weaponDef.WeaponSubType.CompareTo(weaponDef2.WeaponSubType); } // tonnage if (num == 0) { num = weaponDef.Tonnage.CompareTo(weaponDef2.Tonnage); } // rarity (descending) if (num == 0) { num = weaponDef2.Description.Rarity.CompareTo(weaponDef.Description.Rarity); } // manufacturer if (num == 0) { num = weaponDef.Description.Manufacturer.CompareTo(weaponDef2.Description.Manufacturer); } } else if (weaponDef != null) { num = -1; } else if (weaponDef2 != null) { num = 1; } else if (a?.controller?.ammoBoxDef != null && b?.controller?.ammoBoxDef != null) // ammo { //Log("comparing ammo"); // ammo type num = a.controller.ammoBoxDef.Ammo.Category.CompareTo(b.controller.ammoBoxDef.Ammo.Category); } else if (a?.controller?.componentDef != null && b?.controller?.componentDef != null) // equipment { //Log("comparing equipment"); // remove + from ui name and compare num = a.controller.componentDef.Description.UIName.Trim(trimChars).CompareTo(b.controller.componentDef.Description.UIName.Trim(trimChars)); // rarity (descending) if (num == 0) { num = b.controller.componentDef.Description.Rarity.CompareTo(a.controller.componentDef.Description.Rarity); } } else { //Log("comparing componentDef"); MechComponentRef m1 = a?.ComponentRef; MechComponentRef m2 = b?.ComponentRef; if (m1 != null && m2 != null) { // general type num = a.ComponentRef.ComponentDefType.CompareTo(b.ComponentRef.ComponentDefType); } else if (m1 != null) { num = -1; } else if (m2 != null) { num = 1; } } __result = num; return(false); } catch (Exception e) { BetterSorting.Log(e.ToString()); // fall back to original comparison (by name) __result = Traverse.Create(__instance).Method("SortBy_Name", new Type[] { typeof(InventoryItemElement), typeof(InventoryItemElement) }, new InventoryItemElement[] { b, a }).GetValue <int>(); return(false); } }
public static void ChangeColor(InventoryDataObject_SalvageMechPart __instance, InventoryItemElement theWidget) { try { TColorExtentions.ResetTextIconColor(theWidget); } catch (Exception e) { Control.LogError(e); } }
public static void Postfix(InventoryItemElement theWidget) { AddYearToVariant(theWidget); }