Activate(): Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
(created)
 
m (Nesciuse moved page Activate()/en to Activate() without leaving a redirect: Move en subpage to basepage)
 
(14 intermediate revisions by 8 users not shown)
Line 1: Line 1:
[[Image:Entity init.png|right|The Source engine entity initialisation process.]]
{{LanguageBar}}
 
[[File:Entity init.png|right|The Source engine entity initialisation process.]]


'''<code>Activate()</code>''' is a <code>void</code> member function of <code>[[CBaseEntity]]</code> that is available through inheritance to every entity in a Source game. It is called by the engine after <code>[[Spawn()]]</code> and, if <code>Spawn()</code> occurred during a map's initial load, after all other entities have been spawned too.
'''<code>Activate()</code>''' is a <code>void</code> member function of <code>[[CBaseEntity]]</code> that is available through inheritance to every entity in a Source game. It is called by the engine after <code>[[Spawn()]]</code> and, if <code>Spawn()</code> occurred during a map's initial load, after all other entities have been spawned too.
Line 6: Line 8:


{{warning|<code>CBaseEntity</code> executes code in this function, so '''always''' call <code>BaseClass::Activate()</code> from your version.}}
{{warning|<code>CBaseEntity</code> executes code in this function, so '''always''' call <code>BaseClass::Activate()</code> from your version.}}
{{tip|<code>Activate()</code> is not related to entity [[input]]s or [[flag]]s of the same name. It is ''always'' called.}}
{{note|If an entity is spawned from the console (ex:<code>ent_create</code>) or via game code (ex:<code>CreateEntityByName()</code>) then <code>Activate()</code>  is ''not'' called so be sure to call <code>Activate()</code> from the spawning code.  Also note that <code>Activate()</code>  is not called for client-side entities.<br>.}}


== Example ==
== Example ==
Line 21: Line 27:
*[[Spawn()]]
*[[Spawn()]]
*[[Think()]]
*[[Think()]]
*[[My First Entity]]
*[[Your First Entity]]
 
[[Category:Functions]]
[[Category:Functions]]

Latest revision as of 03:57, 12 July 2024

English (en)Русский (ru)Translate (Translate)
The Source engine entity initialisation process.

Activate() is a void member function of CBaseEntity that is available through inheritance to every entity in a Source game. It is called by the engine after Spawn() and, if Spawn() occurred during a map's initial load, after all other entities have been spawned too.

Activate() is used to perform spawning tasks that require interaction with other entities. Such tasks should never be performed in Spawn() itself, as it may be called before any other entities become available.

Warning.pngWarning:CBaseEntity executes code in this function, so always call BaseClass::Activate() from your version.
Tip.pngTip:Activate() is not related to entity inputs or flags of the same name. It is always called.
Note.pngNote:If an entity is spawned from the console (ex:ent_create) or via game code (ex:CreateEntityByName()) then Activate() is not called so be sure to call Activate() from the spawning code. Also note that Activate() is not called for client-side entities.
.

Example

void CAlyxEmpEffect::Activate()
{
	// Start out with a target entity
	SetTargetEntity( STRING(m_strTargetName) );
	
	BaseClass::Activate();
}

See also