Isle
Loading...
Searching...
No Matches
legoactioncontrolpresenter.h
Go to the documentation of this file.
1#ifndef LEGOACTIONCONTROLPRESENTER_H
2#define LEGOACTIONCONTROLPRESENTER_H
3
4#include "decomp.h"
5#include "extra.h"
6#include "mxmediapresenter.h"
7#include "mxstring.h"
8
9// VTABLE: LEGO1 0x100d5118
10// SIZE 0x68
11
19public:
23 LegoActionControlPresenter() : m_unk0x50(Extra::ActionType::e_none) {}
24
29 ~LegoActionControlPresenter() override { Destroy(TRUE); } // vtable+0x00
30
35 static const char* HandlerClassName()
36 {
37 // STRING: LEGO1 0x100f05bc
38 return "LegoActionControlPresenter";
39 }
40
46 const char* ClassName() const override // vtable+0x0c
47 {
48 return HandlerClassName();
49 }
50
56 MxBool IsA(const char* p_name) const override // vtable+0x10
57 {
58 return !strcmp(p_name, LegoActionControlPresenter::ClassName()) || MxMediaPresenter::IsA(p_name);
59 }
60
65 void ReadyTickle() override; // vtable+0x18
66
71 void RepeatingTickle() override; // vtable+0x24
72
77 void ParseExtra() override; // vtable+0x30
78
83 MxResult AddToManager() override; // vtable+0x34
84
90 virtual void Destroy(MxBool p_fromDestructor); // vtable+0x5c
91
92private:
93 Extra::ActionType m_unk0x50;
94 MxString m_unk0x54;
95 undefined4 m_unk0x64;
96};
97
98// SYNTHETIC: LEGO1 0x1000d1d0
99// LegoActionControlPresenter::`scalar deleting destructor'
100
101#endif // LEGOACTIONCONTROLPRESENTER_H
[AI] Presenter for controlling action logic (e.g., invoking named actions such as "RUN",...
~LegoActionControlPresenter() override
[AI] Destructor which unregisters from the tickle manager and performs resource cleanup.
void RepeatingTickle() override
[AI] Handles tickle at the 'repeating' state to invoke parsed actions.
MxResult AddToManager() override
[AI] Registers this presenter as a tickle client with the TickleManager.
MxBool IsA(const char *p_name) const override
[AI] Runtime type check for casting/querying class type.
const char * ClassName() const override
[AI] Returns the class name for dynamic type checking and dispatch.
LegoActionControlPresenter()
[AI] Constructs the presenter, initializing the parsed action as 'none'.
void ParseExtra() override
[AI] Parses the Extra field (from SI) for action commands and parameters.
void ReadyTickle() override
[AI] Handles tickle at the 'ready' state: parses and prepares for action invocation.
static const char * HandlerClassName()
[AI] Returns the name of this presenter handler class.
[AI] Abstract base class for presenters that play back continuous media streams such as video or audi...
void Destroy() override
[AI] Cleans up internal resources and resets the presenter to an uninitialized state.
MxBool IsA(const char *p_name) const override
[AI] Returns TRUE if the provided class name matches this class or any of its parents.
Mindscape custom string class for managing dynamic C-strings within the game engine.
Definition: mxstring.h:14
#define override
Definition: compat.h:21
#define TRUE
Definition: d3drmdef.h:28
unsigned int undefined4
Definition: decomp.h:28
MxU8 MxBool
[AI]
Definition: mxtypes.h:124
MxLong MxResult
[AI]
Definition: mxtypes.h:106
[AI] Items related to the Extra string of key-value pairs found in MxOb.
Definition: extra.h:14
ActionType
[AI] Enumerates the possible operation types that may appear as actions in the "Extra" key-value stri...
Definition: extra.h:25