private static void InstantiateGameController(uGUI_QuickSlots instance)
 {
     if (instance.gameObject.GetComponent <GameController>() == null)
     {
         instance.gameObject.AddComponent <GameController>();
     }
 }
Ejemplo n.º 2
0
        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);
                }
            }
        }
Ejemplo n.º 3
0
        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;
        }
Ejemplo n.º 4
0
        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;
        }
Ejemplo n.º 5
0
 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);
        }
Ejemplo n.º 8
0
        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");
         }
     }
 }
Ejemplo n.º 10
0
        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);
        }
Ejemplo n.º 11
0
        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;
            }
        }
Ejemplo n.º 14
0
        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;
        }
Ejemplo n.º 15
0
 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);
 }
Ejemplo n.º 17
0
        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;
        }
Ejemplo n.º 18
0
 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);
 }