Пример #1
0
        internal override void LinkToParent(ModCraftTreeLinkingNode parent)
        {
            base.LinkToParent(parent);

            if (IsExistingTab)
            {
                return;
            }

            LanguagePatcher.AddCustomLanguageLine(ModName, $"{base.SchemeAsString}Menu_{Name}", DisplayText);

            string spriteID = $"{SchemeAsString}_{Name}";

#if SUBNAUTICA
            ModSprite modSprite;
            if (Asprite != null)
            {
                modSprite = new ModSprite(SpriteManager.Group.Category, spriteID, Asprite);
            }
            else
            {
                modSprite = new ModSprite(SpriteManager.Group.Category, spriteID, Usprite);
            }

            ModSprite.Add(modSprite);
#elif BELOWZERO
            ModSprite modSprite;
            modSprite = new ModSprite(SpriteManager.Group.Category, spriteID, Usprite);
            ModSprite.Add(modSprite);
#endif
        }
Пример #2
0
        TechType ITechTypeHandlerInternal.AddTechType(Assembly modAssembly, string internalName, string displayName, string tooltip, bool unlockAtStart)
        {
            string modName = modAssembly.GetName().Name;

            // Register the TechType.
            var techType = TechTypePatcher.AddTechType(internalName);

            // Remember which Assembly added it
            TechTypesAddedBy[techType] = modAssembly;

            // register Language Lines.
            LanguagePatcher.AddCustomLanguageLine(modName, internalName, displayName);
            LanguagePatcher.AddCustomLanguageLine(modName, "Tooltip_" + internalName, tooltip);

            Dictionary <TechType, string> valueToString = TooltipFactory.techTypeTooltipStrings.valueToString;

            valueToString[techType] = "Tooltip_" + internalName;

            // Unlock the TechType on start
            if (unlockAtStart)
            {
                KnownTechPatcher.UnlockedAtStart.Add(techType);
            }

            // Return the new TechType.
            return(techType);
        }
Пример #3
0
        TechType ITechTypeHandlerInternal.AddTechType(string modName, string internalName, string displayName, string tooltip, bool unlockAtStart)
        {
            // Register the TechType.
            TechType techType = TechTypePatcher.AddTechType(internalName);

            // Remember which Assembly added it
            Assembly mod = ReflectionHelper.CallingAssemblyByStackTrace();

            TechTypesAddedBy[techType] = mod;

            // Register Language lines.
            LanguagePatcher.AddCustomLanguageLine(modName, internalName, displayName);
            LanguagePatcher.AddCustomLanguageLine(modName, "Tooltip_" + internalName, tooltip);

            Dictionary <TechType, string> valueToString = TooltipFactory.techTypeTooltipStrings.valueToString;

            valueToString[techType] = "Tooltip_" + internalName;

            // Unlock the TechType on start
            if (unlockAtStart)
            {
                KnownTechPatcher.UnlockedAtStart.Add(techType);
            }

            // Return the new TechType.
            return(techType);
        }
Пример #4
0
        internal TabNode(string[] path, CraftTree.Type scheme, UnityEngine.Sprite sprite, string modName, string name, string displayName) : base(path, scheme)
        {
            Sprite      = sprite;
            DisplayName = displayName;
            Name        = name;

            ModSprite.Add(new ModSprite(SpriteManager.Group.Category, $"{Scheme.ToString()}_{Name}", Sprite));
            LanguagePatcher.AddCustomLanguageLine(modName, $"{Scheme.ToString()}Menu_{Name}", DisplayName);
        }
Пример #5
0
        public CustomCraftTab(string path, string name, CraftTree.Type scheme, Atlas.Sprite sprite)
        {
            Path   = path;
            Name   = name;
            Scheme = scheme;
            Sprite = new CustomSprite(SpriteManager.Group.Category, SpriteId, sprite);

            string modName = ReflectionHelper.CallingAssemblyNameByStackTrace();

            LanguagePatcher.AddCustomLanguageLine(modName, LanguageId, name);
            CustomSpriteHandler.customSprites.Add(Sprite);
        }
Пример #6
0
        internal TechType AddTechType(string modName, string internalName, string displayName, string tooltip, bool unlockAtStart)
        {
            // Register the TechType.
            TechType techType = TechTypePatcher.AddTechType(internalName);

            // Register Language lines.
            LanguagePatcher.AddCustomLanguageLine(modName, internalName, displayName);
            LanguagePatcher.AddCustomLanguageLine(modName, "Tooltip_" + internalName, tooltip);

            Dictionary <TechType, string> valueToString = TooltipFactory.techTypeTooltipStrings.valueToString;

            valueToString[techType] = "Tooltip_" + internalName;

            // Unlock the TechType on start
            if (unlockAtStart)
            {
                KnownTechPatcher.UnlockedAtStart.Add(techType);
            }

            // Return the new TechType.
            return(techType);
        }
Пример #7
0
        internal override void LinkToParent(CustomCraftTreeLinkingNode parent)
        {
            base.LinkToParent(parent);

            string tabLanguageID = $"{SchemeAsString}Menu_{Name}";

            // Legacy Support
            LanguagePatcher.AddCustomLanguageLine("SMLHelper", tabLanguageID, DisplayText);

            string spriteID = $"{SchemeAsString}_{Name}";

            CustomSprite custSprite;

            if (Asprite != null)
            {
                custSprite = new CustomSprite(SpriteManager.Group.Category, spriteID, Asprite);
            }
            else
            {
                custSprite = new CustomSprite(SpriteManager.Group.Category, spriteID, Usprite);
            }

            CustomSpriteHandler.customSprites.Add(custSprite);
        }
Пример #8
0
        /// <summary>
        /// Allows you to set the tooltip of a specific <see cref="TechType"/>.
        /// </summary>
        /// <param name="techType">The <see cref="TechType"/> whose tooltip that is to be changed.</param>
        /// <param name="text">The new tooltip for the chosen <see cref="TechType"/>.</param>
        void ILanguageHandler.SetTechTypeTooltip(TechType techType, string text)
        {
            string modName = ReflectionHelper.CallingAssemblyNameByStackTrace();

            LanguagePatcher.AddCustomLanguageLine(modName, $"Tooltip_{techType.AsString()}", text);
        }
Пример #9
0
        /// <summary>
        /// Allows you to define a language entry into the game.
        /// </summary>
        /// <param name="lineId">The ID of the entry, this is what is used to get the actual text.</param>
        /// <param name="text">The actual text related to the entry.</param>
        void ILanguageHandler.SetLanguageLine(string lineId, string text)
        {
            string modName = ReflectionHelper.CallingAssemblyNameByStackTrace();

            LanguagePatcher.AddCustomLanguageLine(modName, lineId, text);
        }