tModLoader v2024.04
A mod to make and play Terraria mods
GlobalEmoteBubble Class Reference

Inherits GlobalType< EmoteBubble, GlobalEmoteBubble >.

Public Member Functions

virtual ? Rectangle GetFrame (EmoteBubble emoteBubble)
 Allows you to modify the frame rectangle for drawing this emote. Useful for emote bubbles that share the same texture. More...
 
virtual ? Rectangle GetFrameInEmoteMenu (int emoteType, int frame, int frameCounter)
 Allows you to modify the frame rectangle for drawing this emote in emotes menu. Useful for emote bubbles that share the same texture. More...
 
virtual void OnSpawn (EmoteBubble emoteBubble)
 Gets called when emote bubbles spawn in world. More...
 
virtual void PostDraw (EmoteBubble emoteBubble, SpriteBatch spriteBatch, Texture2D texture, Vector2 position, Rectangle frame, Vector2 origin, SpriteEffects spriteEffects)
 Allows you to draw things in front of this emote bubble. This method is called even if PreDraw returns false. More...
 
virtual void PostDrawInEmoteMenu (int emoteType, SpriteBatch spriteBatch, EmoteButton uiEmoteButton, Vector2 position, Rectangle frame, Vector2 origin)
 Allows you to draw things in front of this emote bubble. This method is called even if PreDraw returns false. More...
 
virtual bool PreDraw (EmoteBubble emoteBubble, SpriteBatch spriteBatch, Texture2D texture, Vector2 position, Rectangle frame, Vector2 origin, SpriteEffects spriteEffects)
 Allows you to draw things behind this emote bubble, or to modify the way this emote bubble is drawn. Return false to stop the game from drawing the emote bubble (useful if you're manually drawing the emote bubble). Returns true by default. More...
 
virtual bool PreDrawInEmoteMenu (int emoteType, SpriteBatch spriteBatch, EmoteButton uiEmoteButton, Vector2 position, Rectangle frame, Vector2 origin)
 Allows you to draw things behind this emote bubble that displays in emotes menu, or to modify the way this emote bubble is drawn. Return false to stop the game from drawing the emote bubble (useful if you're manually drawing the emote bubble). Returns true by default. More...
 
sealed override void SetupContent ()
 
virtual bool UpdateFrame (EmoteBubble emoteBubble)
 Allows you to modify the frame of this emote bubble. Return false to stop vanilla frame update code from running. Returns true by default. More...
 
virtual bool UpdateFrameInEmoteMenu (int emoteType, ref int frameCounter)
 Allows you to modify the frame of this emote bubble which displays in emotes menu. Return false to stop vanilla frame update code from running. Returns true by default.
Do note that More...
 
- Public Member Functions inherited from GlobalType< EmoteBubble, GlobalEmoteBubble >
virtual bool AppliesToEntity (TEntity entity, bool lateInstantiation)
 Use this to control whether or not this global should be run on the provided entity instance.
More...
 
virtual TGlobal Clone (TEntity? from, TEntity to)
 Create a copy of this instanced global. Called when an entity is cloned. More...
 
TGlobal Instance (TEntity entity)
 
virtual ? TGlobal NewInstance (TEntity target)
 Only called if GlobalType<TGlobal>.InstancePerEntity and AppliesToEntity(target , ...) are both true.

Returning null is permitted but not recommended over AppliesToEntity for performance reasons.
Only return null when the global is disabled based on some runtime property (eg world seed). More...
 
virtual void SetDefaults (TEntity entity)
 Allows you to set the properties of any and every instance that gets created.
 

Protected Member Functions

sealed override void Register ()
 
- Protected Member Functions inherited from GlobalType< EmoteBubble, GlobalEmoteBubble >
override void Register ()
 If you make a new ModType, seal this override.
 
override void ValidateType ()
 Check for the correct overrides of different hook methods and fields and properties
 

Additional Inherited Members

- Static Public Member Functions inherited from GlobalType< EmoteBubble, GlobalEmoteBubble >
static TResult GetGlobal< TResult > (int entityType, ReadOnlySpan< TGlobal > entityGlobals)
 
static TResult GetGlobal< TResult > (int entityType, ReadOnlySpan< TGlobal > entityGlobals, TResult baseInstance)
 
static bool TryGetGlobal< TResult > (int entityType, ReadOnlySpan< TGlobal > entityGlobals, out TResult result)
 
static bool TryGetGlobal< TResult > (int entityType, ReadOnlySpan< TGlobal > entityGlobals, TResult baseInstance, out TResult result)
 
- Properties inherited from GlobalType< EmoteBubble, GlobalEmoteBubble >
virtual bool CloneNewInstances [get]
 Whether to create new instances of this mod type via Clone or via the default constructor Defaults to false (default constructor).
 
abstract bool ConditionallyAppliesToEntities [get]
 Whether this global applies to some entities but not others
 
sealed override bool ConditionallyAppliesToEntities [get]
 Whether this global applies to some entities but not others.
True if the type overrides AppliesToEntity(TEntity, bool)
 
virtual bool InstancePerEntity [get]
 Whether to create a new instance of this Global for every entity that exists. Useful for storing information on an entity. Defaults to false. Return true if you need to store information (have non-static fields).
 
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]
 
short PerEntityIndex [get, set]
 Index of this global in a IEntityWithGlobals<TGlobal>.EntityGlobals array
-1 if this global does not have a SlotPerEntity
 
virtual bool SlotPerEntity [get]
 If true, the global will be assigned a PerEntityIndex at load time, which can be used to access the instance in the IEntityWithGlobals<TGlobal>.EntityGlobals array.
If false, the global will be a singleton applying to all entities
 
short StaticIndex [get, set]
 Index of this global in the list of all globals of the same type, in registration order
 

Member Function Documentation

◆ GetFrame()

virtual ? Rectangle GlobalEmoteBubble.GetFrame ( EmoteBubble  emoteBubble)
virtual

Allows you to modify the frame rectangle for drawing this emote. Useful for emote bubbles that share the same texture.

Parameters
emoteBubble
Returns

◆ GetFrameInEmoteMenu()

virtual ? Rectangle GlobalEmoteBubble.GetFrameInEmoteMenu ( int  emoteType,
int  frame,
int  frameCounter 
)
virtual

Allows you to modify the frame rectangle for drawing this emote in emotes menu. Useful for emote bubbles that share the same texture.

Parameters
emoteType
frame
frameCounter
Returns

◆ OnSpawn()

virtual void GlobalEmoteBubble.OnSpawn ( EmoteBubble  emoteBubble)
virtual

Gets called when emote bubbles spawn in world.

Parameters
emoteBubble

◆ PostDraw()

virtual void GlobalEmoteBubble.PostDraw ( EmoteBubble  emoteBubble,
SpriteBatch  spriteBatch,
Texture2D  texture,
Vector2  position,
Rectangle  frame,
Vector2  origin,
SpriteEffects  spriteEffects 
)
virtual

Allows you to draw things in front of this emote bubble. This method is called even if PreDraw returns false.

Parameters
emoteBubble
spriteBatch
texture
position
frame
origin
spriteEffects

◆ PostDrawInEmoteMenu()

virtual void GlobalEmoteBubble.PostDrawInEmoteMenu ( int  emoteType,
SpriteBatch  spriteBatch,
EmoteButton  uiEmoteButton,
Vector2  position,
Rectangle  frame,
Vector2  origin 
)
virtual

Allows you to draw things in front of this emote bubble. This method is called even if PreDraw returns false.

Parameters
emoteType
spriteBatch
uiEmoteButtonThe EmoteButton instance. You can get useful textures and frameCounter from it.
position
frame
origin

◆ PreDraw()

virtual bool GlobalEmoteBubble.PreDraw ( EmoteBubble  emoteBubble,
SpriteBatch  spriteBatch,
Texture2D  texture,
Vector2  position,
Rectangle  frame,
Vector2  origin,
SpriteEffects  spriteEffects 
)
virtual

Allows you to draw things behind this emote bubble, or to modify the way this emote bubble is drawn. Return false to stop the game from drawing the emote bubble (useful if you're manually drawing the emote bubble). Returns true by default.

Parameters
emoteBubble
spriteBatch
texture
position
frame
origin
spriteEffects
Returns
If false, the vanilla drawing code will not run.

◆ PreDrawInEmoteMenu()

virtual bool GlobalEmoteBubble.PreDrawInEmoteMenu ( int  emoteType,
SpriteBatch  spriteBatch,
EmoteButton  uiEmoteButton,
Vector2  position,
Rectangle  frame,
Vector2  origin 
)
virtual

Allows you to draw things behind this emote bubble that displays in emotes menu, or to modify the way this emote bubble is drawn. Return false to stop the game from drawing the emote bubble (useful if you're manually drawing the emote bubble). Returns true by default.

Parameters
emoteType
spriteBatch
uiEmoteButtonThe EmoteButton instance. You can get useful textures and frameCounter from it.
position
frame
origin
Returns
If false, the vanilla drawing code will not run.

◆ UpdateFrame()

virtual bool GlobalEmoteBubble.UpdateFrame ( EmoteBubble  emoteBubble)
virtual

Allows you to modify the frame of this emote bubble. Return false to stop vanilla frame update code from running. Returns true by default.

Parameters
emoteBubble
Returns
If false, the vanilla frame update code will not run.

◆ UpdateFrameInEmoteMenu()

virtual bool GlobalEmoteBubble.UpdateFrameInEmoteMenu ( int  emoteType,
ref int  frameCounter 
)
virtual

Allows you to modify the frame of this emote bubble which displays in emotes menu. Return false to stop vanilla frame update code from running. Returns true by default.
Do note that

Parameters
emoteTypeThe emote id for this emote.
frameCounter
Returns
If false, the vanilla frame update code will not run.