internal static PingType AddPingType(string name, Sprite sprite) { var cache = cacheManager.RequestCacheForTypeName(name) ?? new EnumTypeCache() { Name = name, Index = cacheManager.GetNextAvailableIndex() }; var pingType = (PingType)cache.Index; cacheManager.Add(pingType, cache.Index, cache.Name); ModSprite.Add(SpriteManager.Group.Pings, cache.Name, sprite); if (PingManager.sCachedPingTypeStrings.valueToString.ContainsKey(pingType) == false) { PingManager.sCachedPingTypeStrings.valueToString.Add(pingType, name); } if (PingManager.sCachedPingTypeTranslationStrings.valueToString.ContainsKey(pingType) == false) { PingManager.sCachedPingTypeTranslationStrings.valueToString.Add(pingType, name); } Logger.Log($"Successfully added PingType: '{name}' to Index: '{cache.Index}'", LogLevel.Debug); return(pingType); }
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 }
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); }
/// <summary> /// Adds a new <see cref="TechType"/> into the game, with a sprite. /// </summary> /// <param name="internalName">The internal name of the TechType. Should not contain special characters.</param> /// <param name="displayName">The display name of the TechType. Can be anything.</param> /// <param name="tooltip">The tooltip, displayed when hovered in an inventory. Can be anything.</param> /// <param name="sprite">The sprite that will related to this TechType.</param> /// <param name="unlockAtStart">Whether this TechType should be unlocked on game start, or not. By default, <c>true</c>.</param> /// <returns>The new <see cref="TechType"/> that is created.</returns> TechType ITechTypeHandler.AddTechType(string internalName, string displayName, string tooltip, Sprite sprite, bool unlockAtStart) { // Register the TechType using overload. TechType techType = Main.AddTechType(internalName, displayName, tooltip, unlockAtStart); // Register the Sprite if (sprite != null) { ModSprite.Add(SpriteManager.Group.None, internalName, new Atlas.Sprite(sprite)); } // Return the new TechType return(techType); }
/// <summary> /// Adds a new <see cref="TechType"/> into the game, with a sprite. /// </summary> /// <param name="internalName">The internal name of the TechType. Should not contain special characters.</param> /// <param name="displayName">The display name of the TechType. Can be anything.</param> /// <param name="tooltip">The tooltip, displayed when hovered in an inventory. Can be anything.</param> /// <param name="sprite">The sprite that will related to this TechType.</param> /// <param name="unlockAtStart">Whether this TechType should be unlocked on game start, or not. By default, <c>true</c>.</param> /// <returns>The new <see cref="TechType"/> that is created.</returns> TechType ITechTypeHandler.AddTechType(string internalName, string displayName, string tooltip, Sprite sprite, bool unlockAtStart) { string modName = ReflectionHelper.CallingAssemblyNameByStackTrace(); // Register the TechType using overload. TechType techType = Main.AddTechType(internalName, displayName, tooltip, unlockAtStart); // Register the Sprite if (sprite != null) { ModSprite.Add(SpriteManager.Group.None, internalName, sprite); } // Return the new TechType return(techType); }
/// <summary> /// Registers a new sprite to the game. /// </summary> /// <param name="type">The techtype paired to this sprite.</param> /// <param name="sprite">The sprite to be added.</param> void ISpriteHandler.RegisterSprite(TechType type, Sprite sprite) { ModSprite.Add(SpriteManager.Group.None, type.AsString(), new Atlas.Sprite(sprite)); }
/// <summary> /// Registers a new sprite to the game. /// </summary> /// <param name="group">The sprite group this sprite will be added to.</param> /// <param name="id">The sprite internal identifier.</param> /// <param name="sprite">The sprite to be added.</param> void ISpriteHandler.RegisterSprite(SpriteManager.Group group, string id, Sprite sprite) { ModSprite.Add(group, id, new Atlas.Sprite(sprite)); }
internal static void Patch() { customSprites.ForEach(x => ModSprite.Add(x.GetModSprite())); }