tModLoader v2024.02
A mod to make and play Terraria mods
ModResourceOverlay Class Reference

This class serves as a place for you to customize how the vanilla resource displays (Classic, Fancy and Bars) are drawn.
For implementing your own resource displays, use ModResourceDisplaySet. More...

Inherits ModType< TEntity, TModType >.

Public Member Functions

virtual bool DisplayHoverText (PlayerStatsSnapshot snapshot, IPlayerResourcesDisplaySet displaySet, bool drawingLife)
 Allows you to specify if the hover text for a resource (life or mana) should be displayed More...
 
virtual void PostDrawResource (ResourceOverlayDrawContext context)
 Allows you to draw on top of any resource (hearts, stars, bars or panels) in a display set More...
 
virtual void PostDrawResourceDisplay (PlayerStatsSnapshot snapshot, IPlayerResourcesDisplaySet displaySet, bool drawingLife, Color textColor, bool drawText)
 Allows you to draw after the resources (hearts, stars, bars and/or panels) in a display set are drawn More...
 
virtual bool PreDrawResource (ResourceOverlayDrawContext context)
 Allows you to draw below any resource (hearts, stars, bars or panels) in a display set More...
 
virtual bool PreDrawResourceDisplay (PlayerStatsSnapshot snapshot, IPlayerResourcesDisplaySet displaySet, bool drawingLife, ref Color textColor, out bool drawText)
 Allows you to draw before the resources (hearts, stars, bars and/or panels) in a display set are drawn.
If you want to implement your own display set, it is recommended to use ModResourceDisplaySet instead of this hook. More...
 
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

sealed 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

int Type [get, set]
 
- 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...
 

Detailed Description

This class serves as a place for you to customize how the vanilla resource displays (Classic, Fancy and Bars) are drawn.
For implementing your own resource displays, use ModResourceDisplaySet.

Member Function Documentation

◆ DisplayHoverText()

virtual bool ModResourceOverlay.DisplayHoverText ( PlayerStatsSnapshot  snapshot,
IPlayerResourcesDisplaySet  displaySet,
bool  drawingLife 
)
virtual

Allows you to specify if the hover text for a resource (life or mana) should be displayed

Parameters
snapshotA snapshot of the stats from Main.LocalPlayer
displaySetThe display set that was drawn
drawingLifeWhether the life or mana display was drawn. true if the life display was drawn, false if the mana display was drawn.
Returns
Whether the hover text should be displayed

◆ PostDrawResource()

virtual void ModResourceOverlay.PostDrawResource ( ResourceOverlayDrawContext  context)
virtual

Allows you to draw on top of any resource (hearts, stars, bars or panels) in a display set

Parameters
contextContains the drawing data for the resource being drawn. You should use the ResourceOverlayDrawContext.Draw method for all drawing

◆ PostDrawResourceDisplay()

virtual void ModResourceOverlay.PostDrawResourceDisplay ( PlayerStatsSnapshot  snapshot,
IPlayerResourcesDisplaySet  displaySet,
bool  drawingLife,
Color  textColor,
bool  drawText 
)
virtual

Allows you to draw after the resources (hearts, stars, bars and/or panels) in a display set are drawn

Parameters
snapshotA snapshot of the stats from Main.LocalPlayer
displaySetThe display set that was drawn
drawingLifeWhether the life or mana display was drawn. true if the life display was drawn, false if the mana display was drawn.
textColorThe color the text above the resources was drawn with. Only applies to the Class display set.
drawTextWhether the text above the resources was drawn. Only applies to the Classic display set.

◆ PreDrawResource()

virtual bool ModResourceOverlay.PreDrawResource ( ResourceOverlayDrawContext  context)
virtual

Allows you to draw below any resource (hearts, stars, bars or panels) in a display set

Parameters
contextContains the drawing data for the resource being drawn. You should use the ResourceOverlayDrawContext.Draw method for all drawing
Returns
true if the intended resource sprite should draw, false otherwise.

◆ PreDrawResourceDisplay()

virtual bool ModResourceOverlay.PreDrawResourceDisplay ( PlayerStatsSnapshot  snapshot,
IPlayerResourcesDisplaySet  displaySet,
bool  drawingLife,
ref Color  textColor,
out bool  drawText 
)
virtual

Allows you to draw before the resources (hearts, stars, bars and/or panels) in a display set are drawn.
If you want to implement your own display set, it is recommended to use ModResourceDisplaySet instead of this hook.

Parameters
snapshotA snapshot of the stats from Main.LocalPlayer
displaySetThe display set being drawn
drawingLifeWhether the life or mana display is going to be drawn. true if the life display is going to be drawn, false if the mana display is going to be drawn.
textColorThe color to draw the text above the resources with. Only applies to the Classic display set.
drawTextWhether the text above the resources should draw. Only applies to the Classic display set.
Returns
Whether the resources in the display set are drawn

◆ Register()

sealed override void ModResourceOverlay.Register ( )
protectedvirtual

If you make a new ModType, seal this override.

Implements ModType< TEntity >.

◆ SetupContent()

sealed override void ModResourceOverlay.SetupContent ( )
virtual

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

Reimplemented from ModType< TEntity >.