TModLoader v1.4.4.9
TModLoader source code documentation
Loading...
Searching...
No Matches
Terraria.ModLoader.GlobalType< TEntity, TGlobal > Class Template Referenceabstract
+ Inheritance diagram for Terraria.ModLoader.GlobalType< TEntity, TGlobal >:
+ Collaboration diagram for Terraria.ModLoader.GlobalType< TEntity, TGlobal >:

Public Member Functions

virtual bool AppliesToEntity (TEntity entity, bool lateInstantiation)
 Use this to control whether or not this global should be run on the provided entity instance.

 
virtual void SetDefaults (TEntity entity)
 Allows you to set the properties of any and every instance that gets created.
 
virtual TGlobal Clone (TEntity? from, TEntity to)
 Create a copy of this instanced global. Called when an entity is cloned.
 
virtual ? TGlobal NewInstance (TEntity target)
 Only called if P:Terraria.ModLoader.GlobalType`1.InstancePerEntity and M:Terraria.ModLoader.GlobalType`2.AppliesToEntity(`0,System.Boolean)(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).
 
TGlobal Instance (TEntity entity)
 
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.
 
virtual bool IsLoadingEnabled (Mod mod)
 Allows you to stop M:Terraria.ModLoader.Mod.AddContent(Terraria.ModLoader.ILoadable) from actually adding this content. Useful for items that can be disabled by a config.
 
virtual void SetupContent ()
 If you make a new ModType, seal this override, and call M:Terraria.ModLoader.ModType.SetStaticDefaults in it.
 
virtual void SetStaticDefaults ()
 Allows you to modify the properties after initial loading has completed.
 
virtual void Unload ()
 Allows you to safely unload things you added in M:Terraria.ModLoader.ModType.Load.
 
string PrettyPrintName ()
 
virtual TModType Clone (TEntity newEntity)
 Create a copy of this instanced global. Called when an entity is cloned.
 

Static Public Member Functions

static TResult GetGlobal< TResult > (int entityType, ReadOnlySpan< TGlobal > entityGlobals, TResult baseInstance)
 
static TResult GetGlobal< TResult > (int entityType, ReadOnlySpan< TGlobal > entityGlobals)
 
static bool TryGetGlobal< TResult > (int entityType, ReadOnlySpan< TGlobal > entityGlobals, TResult baseInstance, out TResult result)
 
static bool TryGetGlobal< TResult > (int entityType, ReadOnlySpan< TGlobal > entityGlobals, out TResult result)
 

Protected Member Functions

override void ValidateType ()
 Check for the correct overrides of different hook methods and fields and properties.
 
override void Register ()
 
virtual void InitTemplateInstance ()
 Create dummy objects for instanced mod-types.
 
override void InitTemplateInstance ()
 Create dummy objects for instanced mod-types.
 
TEntity CreateTemplateEntity ()
 

Properties

short StaticIndex [get, set]
 Index of this global in the list of all globals of the same type, in registration order.
 
short PerEntityIndex [get, set]
 Index of this global in a P:Terraria.ModLoader.IEntityWithGlobals`1.EntityGlobals array
-1 if this global does not have a P:Terraria.ModLoader.GlobalType`1.SlotPerEntity
 
virtual bool SlotPerEntity [get]
 If true, the global will be assigned a P:Terraria.ModLoader.GlobalType`1.PerEntityIndex at load time, which can be used to access the instance in the P:Terraria.ModLoader.IEntityWithGlobals`1.EntityGlobals array.
If false, the global will be a singleton applying to all entities.
 
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).
 
bool ConditionallyAppliesToEntities [get]
 Whether this global applies to some entities but not others.
 
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].
 
virtual bool CloneNewInstances [get]
 Whether to create new instances of this mod type via M:Terraria.ModLoader.GlobalType`2.Clone(`0,`0) or via the default constructor Defaults to false (default constructor).
 
override bool ConditionallyAppliesToEntities [get]
 Whether this global applies to some entities but not others.
True if the type overrides M:Terraria.ModLoader.GlobalType`2.AppliesToEntity(`0,System.Boolean)
 
Mod Mod [get, set]
 The mod this belongs to.
 
virtual string Name [get]
 The internal name of this.
 
string FullName [get]
 The internal name of this, including the mod it is from.
 
TEntity Entity [get, set]
 

Private Member Functions

void ILoadable. Load (Mod mod)
 Called when loading the type.
 

Private Attributes

bool? _isCloneable
 
bool? _conditionallyAppliesToEntities
 

Detailed Description

Type Constraints
TEntity :IEntityWithGlobals<TGlobal> 
TGlobal :GlobalType 
TGlobal :TEntity 
TGlobal :TGlobal 

Definition at line 102 of file GlobalType.cs.


The documentation for this class was generated from the following file: