#[on_entity]Expand description
Marks a method as an entity event handler.
This handler is called when entities are created, updated, or deleted. Optionally filter to specific entity class names.
§Parameters
The handler can receive:
ctx: &Context(optional) - Current replay stateevent: EntityEventsorevent: &EntityEvents(optional) - Type of entity evententity: &Entity(optional) - The entity that changed
Parameters can appear in any order. Return ObserverResult.
§Filtering
Pass a class name to only handle entities of that type:
#[on_entity("CDOTA_Unit_Hero_Axe")]
fn on_axe(&mut self, entity: &Entity) -> ObserverResult {
// Only called for Axe hero entity
Ok(())
}§Examples
§Track all entity changes
#[on_entity]
fn on_entity(&mut self, event: EntityEvents, entity: &Entity) -> ObserverResult {
if event == EntityEvents::Created {
self.created += 1;
}
Ok(())
}§Track specific entity type
#[on_entity("CDOTA_PlayerResource")]
fn on_player_resource(&mut self, ctx: &Context, entity: &Entity) -> ObserverResult {
// Only called when player resource entity updates
Ok(())
}