private static void InstantiateGameController(uGUI_QuickSlots instance) { if (instance.gameObject.GetComponent <GameController>() == null) { instance.gameObject.AddComponent <GameController>(); } }
public void AddHotkeyLabels(uGUI_QuickSlots instance) { uGUI_ItemIcon[] icons = (uGUI_ItemIcon[])uGUI_QuickSlots_icons.GetValue(instance); if (icons == null || icons.Length == 0) { return; } var textPrefab = GetTextPrefab(); if (textPrefab == null) { return; } for (int i = 0; i < icons.Length; ++i) { var icon = icons[i]; var prevtext = icon.transform.GetComponentInChildren <TextMeshProUGUI>(); if (prevtext != null) { prevtext.text = GetInputForSlotFormatted(i); } else { CreateNewText(textPrefab, icon.transform, GetInputForSlotFormatted(i), i); } } }
public void AddHotkeyLabels(uGUI_QuickSlots instance) { if (instance == null || !instance.gameObject.activeSelf || !instance.gameObject.activeInHierarchy) { return; } Text textPrefab = GetTextPrefab(); if (textPrefab == null) { return; } uGUI_ItemIcon[] icons = (uGUI_ItemIcon[])uGUI_QuickSlots_icons.GetValue(instance); if (icons == null || icons.Length == 0) { return; } for (int i = 0; i < icons.Length; ++i) { uGUI_ItemIcon icon = icons[i]; var text = CreateNewText(textPrefab, icon.transform, Mod.GetInputForSlot(i), i); } createdLabels = true; }
public void AddHotkeyLabels(uGUI_QuickSlots instance) { if (instance == null || !Mod.config.ShowInputText) { tryAddLabels = true; return; } uGUI_ItemIcon[] icons = (uGUI_ItemIcon[])uGUI_QuickSlots_icons.GetValue(instance); if (icons == null || icons.Length == 0) { tryAddLabels = true; return; } Text textPrefab = GetTextPrefab(); if (textPrefab == null) { tryAddLabels = true; return; } for (int i = 0; i < icons.Length; ++i) { uGUI_ItemIcon icon = icons[i]; var text = CreateNewText(textPrefab, icon.transform, Mod.GetInputForSlot(i), i); } tryAddLabels = false; }
private void Awake() { Config.Instance.OnConfigSave += Instance_OnConfigSave; texts = new Dictionary <int, TextMeshProUGUI>(); primaryDevice = GameInput.GetPrimaryDevice(); quickSlots = GetComponent <uGUI_QuickSlots>(); AddHotkeyLabels(quickSlots); }
private static void InstantiateQuickSlotsMod(uGUI_QuickSlots instance) { var controller = instance.gameObject.GetComponent <QuickSlotsMod>() ?? instance.gameObject.AddComponent <QuickSlotsMod>(); if (controller != null) { controller.AddHotkeyLabels(instance); } }
private static void InstantiateGameController(uGUI_QuickSlots instance) { var controller = instance.gameObject.GetComponent <GameController>(); if (controller == null) { controller = instance.gameObject.AddComponent <GameController>(); } controller.AddHotkeyLabels(instance); }
internal void AddQuickSlotText(uGUI_QuickSlots instance) { if (instance == null) { return; } icons = (uGUI_ItemIcon[])instance.GetType().GetField("icons", BindingFlags.NonPublic | BindingFlags.Instance).GetValue(instance); if (icons == null) { return; } if (HandReticle.main == null) { return; } for (int i = 0; i < icons.Length; i++) { if (Main.isExists_SlotExtender && Player.main.inSeamoth && Player.main.GetPDA().state != PDA.State.Opening) { AddTextToSlot(icons[i].transform, SLOTEXTENDER_SLOTKEYSLIST[i], i); } else if (Main.isExists_SlotExtender && Player.main.inExosuit && Player.main.GetPDA().state != PDA.State.Opening) { if (i < 2) { continue; } else { AddTextToSlot(icons[i].transform, SLOTEXTENDER_SLOTKEYSLIST[i - 2], i); } } else if (Player.main.inExosuit && Player.main.GetPDA().state != PDA.State.Opening) { if (i < 2) { continue; } else { AddTextToSlot(icons[i].transform, QSEConfig.SLOTKEYSLIST[i - 2], i); } } else { AddTextToSlot(icons[i].transform, QSEConfig.SLOTKEYSLIST[i], i); } } islabelsAdded = true; }
internal virtual void PostUpgradeModuleUse(SeaTruckUpgrades instance, TechType tt, int slotID) { if (tt == sonarModuleTechType) { bSonarActive = !bSonarActive; sonarSlotID = slotID; uGUI_QuickSlots qs = uGUI.main.quickSlots; qs.SetBackground(qs.icons[slotID], tt, bSonarActive); if (bSonarActive) { base.InvokeRepeating("UpdateSonar", 0f, SonarCooldown); } else { base.CancelInvoke("UpdateSonar"); } } }
internal static bool Prefix(uGUI_QuickSlots __instance, ref uGUI_ItemIcon icon, TechType techType, bool highlighted) { if (CraftData.GetEquipmentType(techType) == (EquipmentType)100) { if (icon == null) { return(false); } if (atlasSpriteExosuitArm == null) { atlasSpriteExosuitArm = new Atlas.Sprite(__instance.spriteExosuitArm, false); } icon.SetBackgroundSprite(atlasSpriteExosuitArm); return(false); } return(true); }
internal static bool Prefix(uGUI_QuickSlots __instance, ref uGUI_ItemIcon icon, TechType techType, bool highlighted) { if (TechData.GetEquipmentType(techType) == (EquipmentType)ModdedEquipmentType.SeatruckArm) { if (icon == null) { return(false); } if (spriteExosuitArm == null) { spriteExosuitArm = Object.Instantiate(__instance.spriteExosuitArm); } icon.SetBackgroundSprite(spriteExosuitArm); return(false); } return(true); }
internal virtual void PostUpgradeModuleUse(SeaTruckUpgrades instance, TechType tt, int slotID) { if (tt == sonarModuleTechType) { bSonarActive = !bSonarActive; sonarSlotID = slotID; uGUI_QuickSlots qs = uGUI.main.quickSlots; qs.SetBackground(qs.icons[slotID], tt, bSonarActive); if (bSonarActive) { base.InvokeRepeating("UpdateSonar", 0f, SonarCooldown); } else { base.CancelInvoke("UpdateSonar"); } } else if (tt == repairModuleTechType) { gameObject.EnsureComponent <VehicleRepairComponent>().SetActiveState(parentMotor); } }
public static void Postfix(uGUI_QuickSlots __instance) { if (QuickSlotsUpdateTarget == null || __instance == null) { return; } try { AccessTools .Method(typeof(uGUI_QuickSlots), "Init", new Type[] { typeof(IQuickSlots) }) .Invoke(__instance, new object[] { QuickSlotsUpdateTarget }); } catch (Exception ex) { Logger.Log("Exception during uGUI_QuickSlots_HarmonyPatch.PostFix"); throw ex; } finally { QuickSlotsUpdateTarget = null; } }
internal void AddQuickSlotText(uGUI_QuickSlots instance) { if (instance == null) { return; } icons = (uGUI_ItemIcon[])instance.GetPrivateField("icons"); if (icons == null) { return; } if (HandReticle.main == null) { return; } SNLogger.Debug("QuickSlotExtender", $"icons.length = [{icons.Length}]"); SNLogger.Debug("QuickSlotExtender", $"SLOTKEYSLIST.Count = [{QSEConfig.SLOTKEYSLIST.Count}]"); SNLogger.Debug("QuickSlotExtender", $"Player.main.isPiloting = [{Player.main.isPiloting}]"); for (int i = 0; i < icons.Length; i++) { if (Main.isExists_SlotExtender) { if (Player.main.GetPDA().state != PDA.State.Opening) { if (Player.main.inSeamoth) { AddTextToSlot(icons[i].transform, SLOTEXTENDER_SLOTKEYSLIST[i]); } else if (Player.main.inExosuit) { if (i < 2) { continue; } else { AddTextToSlot(icons[i].transform, SLOTEXTENDER_SLOTKEYSLIST[i - 2]); } } else { AddTextToSlot(icons[i].transform, QSEConfig.SLOTKEYSLIST[i]); } } } else if (Player.main.inExosuit && Player.main.GetPDA().state != PDA.State.Opening) { if (i < 2) { continue; } else { AddTextToSlot(icons[i].transform, QSEConfig.SLOTKEYSLIST[i - 2]); } } else { AddTextToSlot(icons[i].transform, QSEConfig.SLOTKEYSLIST[i]); } } islabelsAdded = true; }
internal static void Postfix(uGUI_QuickSlots __instance) { Main.Instance = __instance.gameObject.GetOrAddComponent <QSEHandler>(); Main.Instance.AddQuickSlotText(__instance); }
private static void Postfix(uGUI_QuickSlots __instance) { InstantiateQuickSlotsMod(__instance); }
internal void AddQuickSlotText(uGUI_QuickSlots instance) { if (instance == null) { BZLogger.Debug("uGUI_QuickSlots instance is null!"); return; } BZLogger.Debug("uGUI_QuickSlots instance is ready."); icons = (uGUI_ItemIcon[])instance.GetPrivateField("icons"); if (icons == null) { BZLogger.Debug("Cannot get uGUI_ItemIcons array!"); return; } BZLogger.Debug($"Found [{icons.Length}] uGUI_ItemIcon in array."); if (HandReticle.main == null) { BZLogger.Debug("HandReticle.main is null!"); return; } BZLogger.Debug("HandReticle.main is ready."); for (int i = 0; i < icons.Length; i++) { if (Main.isExists_SlotExtenderZero) { if (Player.main.GetPDA().state != PDA.State.Opening) { if (Player.main.inSeamoth) { AddTextToSlot(icons[i].transform, SLOTEXTENDERZERO_SLOTKEYSLIST[i]); } else if (Player.main.inExosuit) { if (i < 2) { continue; } else { AddTextToSlot(icons[i].transform, SLOTEXTENDERZERO_SLOTKEYSLIST[i - 2]); } } else if (Player.main.IsPilotingSeatruck()) { AddTextToSlot(icons[i].transform, SLOTEXTENDERZERO_SLOTKEYSLIST[i]); } else { AddTextToSlot(icons[i].transform, QSEzConfig.SLOTKEYSLIST[i]); } } } else if (Player.main.inExosuit && Player.main.GetPDA().state != PDA.State.Opening) { if (i < 2) { continue; } else { AddTextToSlot(icons[i].transform, QSEzConfig.SLOTKEYSLIST[i - 2]); } } else { AddTextToSlot(icons[i].transform, QSEzConfig.SLOTKEYSLIST[i]); } } islabelsAdded = true; }
private void Awake() { Logger.Log("GameController Added"); quickSlots = GetComponent <uGUI_QuickSlots>(); }
private static void Postfix(uGUI_QuickSlots __instance) { InstantiateGameController(__instance); }
private static void Postfix(uGUI_QuickSlots __instance) { Logger.Log("QuickSlots Init"); InstantiateGameController(__instance); }