3#ifndef TRAM_SDK_EXTENSIONS_KITCHENSINK_AI_H
4#define TRAM_SDK_EXTENSIONS_KITCHENSINK_AI_H
25 class ControllerComponent;
29 class AnimationStateComponent;
Provides an API for character controllers.
Definition: controller.h:15
name_t script
Definition: ai.h:111
std::vector< AIVariable > variables
Definition: ai.h:113
void Update()
Definition: ai.cpp:48
void SetAnimationStateComponent(AnimationStateComponent *c)
Definition: ai.h:124
AnimationStateComponent * GetAnimationStateComponent()
Definition: ai.h:126
void SetControllerComponent(ControllerComponent *c)
Definition: ai.h:123
std::vector< AIPackage * > override_stack
Definition: ai.h:109
void PushOverride(AIPackage *)
static AIAgent * Find(id_t id)
Definition: ai.cpp:64
ControllerComponent * GetControllerComponent()
Definition: ai.h:125
std::vector< AIPackage * > package_stack
Definition: ai.h:108
static void Register(name_t name, ai_package_constr constr)
Definition: ai.cpp:33
AIAgent * parent
Definition: ai.h:99
static AIPackage * Make(name_t name, valuearray_t params)
Definition: ai.cpp:37
virtual ~AIPackage()=default
Definition: animationtable.h:90
Generic, type-safe union.
Definition: value.h:18
Extension containing random stuff that doesn't fit in anywhere else.
Definition: ai.cpp:15
AIPackage *(* ai_package_constr)(valuearray_t)
Definition: ai.h:85
void UpdateAI()
Definition: ai.cpp:29
void InitAI()
Definition: ai.cpp:20
uint32_t id_t
Definition: core.h:10
ValueArray valuearray_t
Definition: value.h:325
Value value
Definition: ai.h:103
Interned string type.
Definition: uid.h:10