public static void GetCustomUseText(ref string __result, Seaglide __instance)
        {
            if (__instance == null || __instance.gameObject == null || __instance.gameObject.GetComponent <PowerglideBehaviour>() == null)
            {
                return;
            }

            string sprintText = LanguageCache.GetButtonFormat(Language.main.Get("HoverbikeBoostDisplay") + "({0})", GameInput.Button.Sprint);;

            if (string.IsNullOrEmpty(customUseText) || cachedUseText != sprintText)
            {
                if (Language.main != null)
                {
                    customUseText = __result + ", " + sprintText;
                    cachedUseText = sprintText;
                    typeof(Seaglide).GetField("customUseCachedString", BindingFlags.NonPublic | BindingFlags.Instance).SetValue(__instance, customUseText);
                }
                else
                {
                    //Log.LogDebug("Language.main is not available");
                }
            }
            //__result = customUseText;
            //__instance.customUseCachedString = customUseText;
        }
示例#2
0
        //=====================================================================
        // UpdateText
        //
        // Sets tooltip text
        //=====================================================================
        private void UpdateText()
        {
            string buttonFormat  = LanguageCache.GetButtonFormat("ConstructFormat", GameInput.Button.LeftHand);
            string buttonFormat2 = LanguageCache.GetButtonFormat("DeconstructFormat", GameInput.Button.Deconstruct);

            this.constructText   = Language.main.GetFormat <string, string>("ConstructDeconstructFormat", buttonFormat, buttonFormat2);
            this.deconstructText = buttonFormat2;
        }
示例#3
0
 public static string GetInputForSlot(int slotID)
 {
     if (slotID < Player.quickSlotButtonsCount)
     {
         string inputName = GameInput.GetBindingName(GameInput.Button.Slot1 + slotID, GameInput.BindingSet.Primary);
         string input     = LanguageCache.GetButtonFormat("{0}", GameInput.Button.Slot1 + slotID);
         return(string.IsNullOrEmpty(inputName) ? "" : input);
     }
     return(slotID < 0 || slotID >= MaxSlots ? "???" : keys[slotID]);
 }
        static bool Prefix(uGUI_CameraCyclops __instance)
        {
            string rightHand = uGUI.FormatButton(GameInput.Button.RightHand, false, " / ", false);
            string leftHand  = uGUI.FormatButton(GameInput.Button.LeftHand, false, " / ", false);
            string slot1     = uGUI.FormatButton(GameInput.Button.Slot1, false, " / ", false);
            string slot2     = uGUI.FormatButton(GameInput.Button.Slot2, false, " / ", false);
            string slot3     = uGUI.FormatButton(GameInput.Button.Slot3, false, " / ", false);

            var exitText     = LanguageCache.GetButtonFormat("PressToExit", GameInput.Button.Exit);
            var onLightText  = "Lights On (" + rightHand + ")";
            var offLightText = "Lights Off (" + leftHand + ")";
            var selectCamera = "Select Camera (" + slot1 + "/" + slot2 + "/" + slot3 + ")";

            __instance.stringControls = "\n" + exitText + "\n" + offLightText + " / " + onLightText + "\n" + selectCamera;
            return(false);
        }
示例#5
0
        void onPlayerModeChanged(Player.Mode playerMode)
        {
            if (playerMode == Player.Mode.LockedPiloting)
            {
                checkEnabled();

                if (enabled && Main.config.showHotkeyMessage)
                {
                    LanguageCache.GetButtonFormat(L10n.str("ids_enterVehicleMessage"), Main.config.hotkey).onScreen();
                }
            }
            else if (playerMode == Player.Mode.Normal)
            {
                enabled = false;
            }
        }
示例#6
0
        public static string GetInputForSlot(int slotID, GameInput.BindingSet binding = GameInput.BindingSet.Primary)
        {
            if (slotID < Player.quickSlotButtonsCount)
            {
                string inputName = GameInput.GetBindingName(GameInput.Button.Slot1 + slotID, binding);
                string input     = LanguageCache.GetButtonFormat("{0}", GameInput.Button.Slot1 + slotID);
                return(string.IsNullOrEmpty(inputName) ? string.Empty : input);
            }
            if (slotID < 0 || slotID >= Mod.config.SlotCount)
            {
                return(string.Empty);
            }
            var key = Mod.config.Slots[slotID.ToString()][(int)binding];

            return(key);
        }
 private static bool Prefix(PlayerTool __instance, ref string __result)
 {
     if (__instance is Seaglide)
     {
         var    seaglide   = __instance as Seaglide;
         string altKey     = GameInput.GetBindingName(GameInput.Button.AltTool, GameInput.BindingSet.Primary);
         bool   mapShowing = seaglide.toggleLights.lightState != 2;
         __result = string.Format("{0} Map (<color=#ADF8FFFF>{1}</color>)", mapShowing ? "Hide" : "Show", altKey);
         return(false);
     }
     else if (Mod.config.FixScannerToolTextBug && __instance is ScannerTool)
     {
         __result = LanguageCache.GetButtonFormat("ScannerSelfScanFormat", GameInput.Button.AltTool);
         return(false);
     }
     return(true);
 }
示例#8
0
 private static bool Prefix(PlayerTool __instance, ref string __result)
 {
     if (__instance is Seaglide)
     {
         var    seaglide   = __instance as Seaglide;
         bool   mapShowing = seaglide.toggleLights.lightState != 2;
         string command    = mapShowing
                                 ? "Hide Map (<color=#ADF8FFFF>{0}</color>)"
                                 : "Show Map (<color=#ADF8FFFF>{0}</color>)";
         __result = LanguageCache.GetButtonFormat(command, GameInput.Button.AltTool);
         return(false);
     }
     else if (Mod.config.FixScannerToolTextBug && __instance is ScannerTool)
     {
         __result = LanguageCache.GetButtonFormat("ScannerSelfScanFormat", GameInput.Button.AltTool);
         return(false);
     }
     return(true);
 }
示例#9
0
        private static void Postfix(Exosuit __instance)
        {
            bool   hasPropCannon   = Exosuit_rightArm.GetValue(__instance) is ExosuitPropulsionArm || Exosuit_leftArm.GetValue(__instance) is ExosuitPropulsionArm;
            var    toggleLights    = __instance.GetComponent <ToggleLights>();
            string lightsString    = LanguageCache.GetButtonFormat((!toggleLights.lightsActive) ? "Lights On (<color=#ADF8FFFF>{0}</color>)" : "Lights Off (<color=#ADF8FFFF>{0}</color>)", lightsBinding);
            string exitString      = string.Join("\n", ((string)Exosuit_uiStringPrimary.GetValue(__instance)).Split(new char[] { '\n' }, StringSplitOptions.RemoveEmptyEntries).Take(1).ToArray());
            var    primaryString   = string.Join("\n", ((string)Exosuit_uiStringPrimary.GetValue(__instance)).Split(new char[] { '\n' }, StringSplitOptions.RemoveEmptyEntries).Skip(1).ToArray()) + System.Environment.NewLine + lightsString;
            var    secondaryString = string.Empty;

            if (hasPropCannon)
            {
                lightsBinding   = GameInput.Button.Deconstruct;
                secondaryString = exitString;
            }
            else
            {
                lightsBinding = GameInput.Button.AltTool;
                primaryString = primaryString + System.Environment.NewLine + exitString;
            }
            HandReticle.main.SetUseTextRaw(primaryString, secondaryString);
        }
示例#10
0
        private void UpdateUIText(bool hasPropCannon)
        {
            if (!hasInitStrings || lastHasPropCannon != hasPropCannon)
            {
                sb.Length = 0;
                sb.AppendLine(LanguageCache.GetButtonFormat("PressToExit", GameInput.Button.Exit));

                if (hasPropCannon)
                {
                    string[] splittedHint = LanguageCache.GetButtonFormat("PropulsionCannonToRelease", GameInput.Button.AltTool).Split(' ');

                    sb.AppendLine($"{splittedHint[0]} {splittedHint.GetLast()}");
                }

                lastHasPropCannon = hasPropCannon;
                uiStringPrimary   = sb.ToString();
            }

            HandReticle.main.SetTextRaw(HandReticle.TextType.Use, uiStringPrimary);
            hasInitStrings = true;
        }
            private static void Postfix(SeaMoth __instance)
            {
                if (__instance.GetPilotingMode() && !Player.main.GetPDA().isInUse)
                {
                    string button2 = LanguageCache.GetButtonFormat("Change Torpedo (<color=#ADF8FFFF>{0}</color>)", GameInput.Button.Deconstruct);

                    string button3      = "";
                    var    toggledSlots = (bool[])Vehicle_quickSlotToggled.GetValue(__instance);
                    for (var i = 0; i < toggledSlots.Length; ++i)
                    {
                        if (toggledSlots[i] && __instance.GetSlotItem(i) != null && __instance.GetSlotItem(i).item.GetTechType() == TechType.SeamothTorpedoModule)
                        {
                            button3 = LanguageCache.GetButtonFormat("\nAccess Torpedo Storage (<color=#ADF8FFFF>{0}</color>)", GameInput.Button.AltTool);
                            break;
                        }
                    }

                    string buttonFormat = LanguageCache.GetButtonFormat("PressToExit", GameInput.Button.Exit);
                    HandReticle.main.SetUseTextRaw(buttonFormat, button2 + button3);
                }
            }