tModLoader v2024.04
A mod to make and play Terraria mods
BuilderToggle Class Referenceabstract

Represents a builder toggle button shown in the top left corner of the screen while the inventory is shown. These toggles typically control wiring-related visibility or other building-related quality of life features.The Active method determines if the BuilderToggle should be shown to the user and is usually reliant on player-specific values. The CurrentState property represents the current state of the toggle. For vanilla toggles a value of 0 is off and a value of 1 is on, but modded toggles can have NumberOfStates values. More...

Inherits ModTexturedType, and ILocalizedModType.

Classes

class  After
 
class  Before
 
class  Default
 
class  Position
 

Public Member Functions

virtual bool Active ()
 This dictates whether or not this builder toggle should be active (displayed).This is usually determined by player-specific values, typically set in ModItem.UpdateInventory.
 
virtual Color DisplayColorTexture ()
 This is the overlay color that is drawn on top of the texture. More...
 
abstract string DisplayValue ()
 This is the value that will show up when hovering on the toggle icon. You can specify different values per each available CurrentState
 
virtual bool Draw (SpriteBatch spriteBatch, ref BuilderToggleDrawParams drawParams)
 This allows you to change basic drawing parameters or to override the vanilla drawing completely.This is for the icon itself. See DrawHover if you want to modify icon hover drawing.Return false to stop vanilla drawing code from running. Returns true by default. More...
 
virtual bool DrawHover (SpriteBatch spriteBatch, ref BuilderToggleDrawParams drawParams)
 This allows you to change basic drawing parameters or to override the vanilla drawing completely.This is for the icon hover. See Draw if you want to modify icon drawing.Return false to stop vanilla drawing code from running. Returns true by default. More...
 
virtual bool OnLeftClick (ref SoundStyle? sound)
 Called when the toggle is left clicked and before vanilla operation takes place.Return false to stop vanilla left click code (switching between states and playing sound) from running.
Returns true by default. More...
 
virtual void OnRightClick ()
 Called when the toggle is right clicked.
Use this if you want to implement special right click feature (such as cycling through states backwards).
 
sealed override void SetupContent ()
 If you make a new ModType, seal this override, and call SetStaticDefaults in it. More...
 
- Public Member Functions inherited from ModType< TEntity, TModType >
virtual TModType Clone (TEntity newEntity)
 Create a copy of this instanced global. Called when an entity is cloned. More...
 
virtual bool IsLoadingEnabled (Mod mod)
 Allows you to stop Mod.AddContent from actually adding this content. Useful for items that can be disabled by a config. More...
 
virtual void Load ()
 Allows you to perform one-time loading tasks. Beware that mod content has not finished loading here, things like ModContent lookup tables or ID Sets are not fully populated. More...
 
virtual TModType NewInstance (TEntity entity)
 Create a new instance of this ModType for a specific entity More...
 
string PrettyPrintName ()
 
virtual void SetStaticDefaults ()
 Allows you to modify the properties after initial loading has completed. More...
 
virtual void SetupContent ()
 If you make a new ModType, seal this override, and call SetStaticDefaults in it. More...
 
virtual void Unload ()
 Allows you to safely unload things you added in Load. More...
 
virtual bool IsLoadingEnabled (Mod mod)
 Whether or not this type should be loaded when it's told to. Returning false disables Mod.AddContent from actually loading this type. More...
 
abstract void Load (Mod mod)
 Called when loading the type. More...
 
abstract void Unload ()
 Called during unloading when needed. More...
 
- Public Member Functions inherited from ModType< TEntity >
virtual TModType Clone (TEntity newEntity)
 Create a copy of this instanced global. Called when an entity is cloned. More...
 
virtual bool IsLoadingEnabled (Mod mod)
 Allows you to stop Mod.AddContent from actually adding this content. Useful for items that can be disabled by a config. More...
 
virtual void Load ()
 Allows you to perform one-time loading tasks. Beware that mod content has not finished loading here, things like ModContent lookup tables or ID Sets are not fully populated. More...
 
virtual TModType NewInstance (TEntity entity)
 Create a new instance of this ModType for a specific entity More...
 
string PrettyPrintName ()
 
virtual void SetStaticDefaults ()
 Allows you to modify the properties after initial loading has completed. More...
 
virtual void SetupContent ()
 If you make a new ModType, seal this override, and call SetStaticDefaults in it. More...
 
virtual void Unload ()
 Allows you to safely unload things you added in Load. More...
 

Protected Member Functions

override void Register ()
 If you make a new ModType, seal this override. More...
 
- Protected Member Functions inherited from ModType< TEntity, TModType >
abstract TEntity CreateTemplateEntity ()
 
virtual void InitTemplateInstance ()
 Create dummy objects for instanced mod-types More...
 
override void InitTemplateInstance ()
 Create dummy objects for instanced mod-types More...
 
abstract void Register ()
 If you make a new ModType, seal this override. More...
 
virtual void ValidateType ()
 Check for the correct overrides of different hook methods and fields and properties More...
 
- Protected Member Functions inherited from ModType< TEntity >
abstract TEntity CreateTemplateEntity ()
 
virtual void InitTemplateInstance ()
 Create dummy objects for instanced mod-types More...
 
override void InitTemplateInstance ()
 Create dummy objects for instanced mod-types
 
abstract void Register ()
 If you make a new ModType, seal this override. More...
 
virtual void ValidateType ()
 Check for the correct overrides of different hook methods and fields and properties More...
 

Properties

static BuilderToggle ActuatorsVisibility = new ActuatorsVisibilityBuilderToggle() [get]
 
static BuilderToggle AutoActuate = new AutoActuateBuilderToggle() [get]
 
static BuilderToggle AutoPaint = new AutoPaintBuilderToggle() [get]
 
static BuilderToggle BlockSwap = new BlockSwapBuilderToggle() [get]
 
static BuilderToggle BlueWireVisibility = new BlueWireVisibilityBuilderToggle() [get]
 
int CurrentState [get, set]
 This is the current state of this builder toggle. Every time the toggle is clicked, it will change.The default state is 0. The state will be saved and loaded for the player to be consistent.
 
static BuilderToggle GreenWireVisibility = new GreenWireVisibilityBuilderToggle() [get]
 
static BuilderToggle HideAllWires = new HideAllWiresBuilderToggle() [get]
 
virtual string HoverTexture [get]
 The outline texture drawn when the icon is hovered. By default a circular outline texture is used. Override this method and return Texture + "_Hover" or any other texture path to specify a custom outline texture for use with icons that are not circular.
 
virtual string LocalizationCategory [get]
 The category used by this modded content for use in localization keys. Localization keys follow the pattern of "Mods.{ModName}.{Category}.{ContentName}.{DataName}". The Localization wiki pageexplains how custom ModType classes can utilize this. More...
 
virtual int NumberOfStates = 2 [get, set]
 This is the number of different functionalities your builder toggle will have.
For a toggle that has an On and Off state, you'd need 2 states! More...
 
virtual Position OrderPosition = new Default() [get, set]
 Modify this if you want your builder toggle have custom ordering. You can specify which BuilderToggle to sort before/after
 
static BuilderToggle RedWireVisibility = new RedWireVisibilityBuilderToggle() [get]
 
static BuilderToggle RulerGrid = new RulerGridBuilderToggle() [get]
 
static BuilderToggle RulerLine = new RulerLineBuilderToggle() [get]
 
static BuilderToggle TorchBiome = new TorchBiomeBuilderToggle() [get]
 
int Type [get, set]
 This is the internal ID of this builder toggle.Also serves as the index for Player.builderAccStatus.
 
static string VanillaHoverTexture [get]
 The path to the texture vanilla info displays use when hovering over an info display.
 
static BuilderToggle YellowWireVisibility = new YellowWireVisibilityBuilderToggle() [get]
 
- Properties inherited from ModTexturedType
virtual string Texture [get]
 The file name of this type's texture file in the mod loader's file space.
 
- Properties inherited from ModType< TEntity, TModType >
virtual bool CloneNewInstances [get]
 Whether to create new instances of this mod type via Clone(TEntity) or via the default constructor Defaults to false (default constructor).
 
TEntity Entity [get, set]
 
string FullName [get]
 The internal name of this, including the mod it is from. More...
 
virtual bool IsCloneable [get]
 Whether or not this type is cloneable. Cloning is supported if
all reference typed fields in each sub-class which doesn't override Clone are marked with [CloneByReference]
 
Mod Mod [get, set]
 The mod this belongs to. More...
 
virtual string Name [get]
 The internal name of this. More...
 
- Properties inherited from IModType
string FullName [get]
 => $"{Mod.Name}/{Name}" More...
 
Mod Mod [get]
 The mod this belongs to. More...
 
string Name [get]
 The internal name of this instance. More...
 
- Properties inherited from ModType< TEntity >
virtual bool CloneNewInstances [get]
 Whether to create new instances of this mod type via Clone(TEntity) or via the default constructor Defaults to false (default constructor).
 
TEntity Entity [get, set]
 
string FullName [get]
 The internal name of this, including the mod it is from. More...
 
virtual bool IsCloneable [get]
 Whether or not this type is cloneable. Cloning is supported if
all reference typed fields in each sub-class which doesn't override Clone are marked with [CloneByReference]
 
Mod Mod [get, set]
 The mod this belongs to. More...
 
virtual string Name [get]
 The internal name of this. More...
 
- Properties inherited from ILocalizedModType
abstract string LocalizationCategory [get]
 The category used by this modded content for use in localization keys. Localization keys follow the pattern of "Mods.{ModName}.{Category}.{ContentName}.{DataName}". The Localization wiki pageexplains how custom ModType classes can utilize this. More...
 

Detailed Description

Represents a builder toggle button shown in the top left corner of the screen while the inventory is shown. These toggles typically control wiring-related visibility or other building-related quality of life features.

The Active method determines if the BuilderToggle should be shown to the user and is usually reliant on player-specific values. The CurrentState property represents the current state of the toggle. For vanilla toggles a value of 0 is off and a value of 1 is on, but modded toggles can have NumberOfStates values.

Member Function Documentation

◆ DisplayColorTexture()

virtual Color BuilderToggle.DisplayColorTexture ( )
virtual

This is the overlay color that is drawn on top of the texture.

Default value is Color.White

◆ Draw()

virtual bool BuilderToggle.Draw ( SpriteBatch  spriteBatch,
ref BuilderToggleDrawParams  drawParams 
)
virtual

This allows you to change basic drawing parameters or to override the vanilla drawing completely.This is for the icon itself. See DrawHover if you want to modify icon hover drawing.Return false to stop vanilla drawing code from running. Returns true by default.

Parameters
spriteBatchThe spritebatch to draw on
drawParamsThe draw parameters for the builder toggle icon
Returns
Whether to run vanilla icon drawing code

◆ DrawHover()

virtual bool BuilderToggle.DrawHover ( SpriteBatch  spriteBatch,
ref BuilderToggleDrawParams  drawParams 
)
virtual

This allows you to change basic drawing parameters or to override the vanilla drawing completely.This is for the icon hover. See Draw if you want to modify icon drawing.Return false to stop vanilla drawing code from running. Returns true by default.

Parameters
spriteBatchThe spritebatch to draw on
drawParamsThe draw parameters for the builder toggle hover icon
Returns
Whether to run vanilla icon hover drawing code

◆ OnLeftClick()

virtual bool BuilderToggle.OnLeftClick ( ref SoundStyle sound)
virtual

Called when the toggle is left clicked and before vanilla operation takes place.Return false to stop vanilla left click code (switching between states and playing sound) from running.
Returns true by default.

Parameters
soundThe click sound that will be played. Return null to mute.
Returns
Whether to run vanilla click code

◆ Register()

override void BuilderToggle.Register ( )
protectedvirtual

If you make a new ModType, seal this override.

Implements ModType< TEntity >.

◆ SetupContent()

sealed override void BuilderToggle.SetupContent ( )
virtual

If you make a new ModType, seal this override, and call SetStaticDefaults in it.

Reimplemented from ModType< TEntity >.

Property Documentation

◆ LocalizationCategory

virtual string BuilderToggle.LocalizationCategory
get

The category used by this modded content for use in localization keys. Localization keys follow the pattern of "Mods.{ModName}.{Category}.{ContentName}.{DataName}". The Localization wiki pageexplains how custom ModType classes can utilize this.

Implements ILocalizedModType.

◆ NumberOfStates

virtual int BuilderToggle.NumberOfStates = 2
getset

This is the number of different functionalities your builder toggle will have.
For a toggle that has an On and Off state, you'd need 2 states!

Default value is 2