Isle
Loading...
Searching...
No Matches
mxcompositepresenter.h
Go to the documentation of this file.
1#ifndef MXCOMPOSITEPRESENTER_H
2#define MXCOMPOSITEPRESENTER_H
3
4#include "mxpresenter.h"
5#include "mxstl/stlcompat.h"
6
9
11class MxCompositePresenterList : public list<MxPresenter*> {}; // [AI]
12
19public:
22
24 ~MxCompositePresenter() override; // vtable+0x00
25
29 MxLong Notify(MxParam& p_param) override; // vtable+0x04
30
33 static const char* HandlerClassName()
34 {
35 // STRING: LEGO1 0x100f0774
36 return "MxCompositePresenter";
37 }
38
41 const char* ClassName() const override // vtable+0x0c
42 {
43 return HandlerClassName();
44 }
45
49 MxBool IsA(const char* p_name) const override // vtable+0x10
50 {
51 return !strcmp(p_name, MxCompositePresenter::ClassName()) || MxPresenter::IsA(p_name);
52 }
53
58 MxResult StartAction(MxStreamController* p_controller, MxDSAction* p_action) override; // vtable+0x3c
59
61 void EndAction() override; // vtable+0x40
62
65 void SetTickleState(TickleState p_tickleState) override; // vtable+0x44
66
70 MxBool HasTickleStatePassed(TickleState p_tickleState) override; // vtable+0x48
71
74 void Enable(MxBool p_enable) override; // vtable+0x54
75
79 virtual void VTable0x58(MxEndActionNotificationParam& p_param); // vtable+0x58
80
83 virtual void VTable0x5c(MxNotificationParam& p_param); // vtable+0x5c
84
87 virtual void VTable0x60(MxPresenter* p_presenter); // vtable+0x60
88
92 virtual MxBool VTable0x64(undefined4 p_undefined)
93 {
95 return m_compositePresenter->VTable0x64(p_undefined);
96 }
97 return TRUE;
98 } // vtable+0x64
99
103
104protected:
107};
108
109#endif // MXCOMPOSITEPRESENTER_H
[AI] STL list of MxPresenter pointers, used to manage multiple child presenters under composite contr...
[AI] Composite presenter that manages a collection of child presenters, orchestrating their actions a...
void EndAction() override
[AI] Ends the composite action, terminating all child presenters and clearing action lists....
MxBool IsA(const char *p_name) const override
[AI] Runtime type checking for presenter class hierarchy, supporting parent/child class checks.
~MxCompositePresenter() override
[AI] Destructor, unregisters the presenter from the notification manager and properly cleans up conta...
MxCompositePresenterList m_list
[AI] List of owned child presenters that are managed by this MxCompositePresenter....
virtual void VTable0x60(MxPresenter *p_presenter)
[AI] Advance sequencing for serial multi-actions: promotes the next presenter in sequence to e_ready ...
MxCompositePresenterList * GetList()
[AI] Returns reference to the internal list of child presenters managed by this composite.
MxCompositePresenter()
[AI] Default constructor; registers the composite presenter with the notification manager.
MxLong Notify(MxParam &p_param) override
[AI] Notifies the composite presenter of a particular event (such as end of sub-action or notificatio...
virtual void VTable0x58(MxEndActionNotificationParam &p_param)
[AI] Handler for "end action" notification, invoked when one of the child presenters finishes its ass...
const char * ClassName() const override
[AI] Returns the dynamic class name; used for runtime type identification.
static const char * HandlerClassName()
[AI] Returns the handler class name ("MxCompositePresenter").
void Enable(MxBool p_enable) override
[AI] Enables or disables this presenter and all child presenters.
virtual void VTable0x5c(MxNotificationParam &p_param)
[AI] Handler for generic presenter notification, such as state change.
void SetTickleState(TickleState p_tickleState) override
[AI] Change the tickle state of this composite presenter and propagate to each child.
MxResult StartAction(MxStreamController *p_controller, MxDSAction *p_action) override
[AI] Starts a composite action by creating child presenters for each action in a MxDSMultiAction list...
MxBool HasTickleStatePassed(TickleState p_tickleState) override
[AI] Checks if all child presenters have advanced past the given tickle state.
virtual MxBool VTable0x64(undefined4 p_undefined)
[AI] Delegated state/mode checking.
[AI] Represents an action deserialized from SI chunks, holding key animation or script parameters suc...
Definition: mxdsaction.h:17
[AI] Notification parameter marking the end of an action, specialization of MxActionNotificationParam...
[AI] Parameter object representing a single notification or event, carrying an identifier and sender ...
[AI] MxParam serves as a polymorphic base class for parameter passing in event and notification syste...
Definition: mxparam.h:7
[AI] Abstract base class for all presenter types in the LEGO Island engine, responsible for managing ...
Definition: mxpresenter.h:20
TickleState
[AI] Represents the state of the presenter's tickle (update) lifecycle.
Definition: mxpresenter.h:23
MxCompositePresenter * m_compositePresenter
[AI] Owner composite presenter, if any.
Definition: mxpresenter.h:217
MxBool IsA(const char *p_name) const override
[AI] Determines if this object is of (or inherits) the specified named class.
Definition: mxpresenter.h:141
[AI] Controller for streaming and managing multimedia resources and actions during gameplay.
#define override
Definition: compat.h:21
#define TRUE
Definition: d3drmdef.h:28
unsigned int undefined4
Definition: decomp.h:28
#define list
[AI] Macro alias for List<T>, replacing std::list<T>.
Definition: mxstl.h:410
MxU8 MxBool
[AI]
Definition: mxtypes.h:124
MxLong MxResult
[AI]
Definition: mxtypes.h:106
int MxLong
[AI]
Definition: mxtypes.h:83
[AI] STL compatibility layer header to provide consistent STL (Standard Template Library) types and a...