Isle
Loading...
Searching...
No Matches
skateboard.h
Go to the documentation of this file.
1#ifndef SKATEBOARD_H
2#define SKATEBOARD_H
3
4#include "decomp.h"
5#include "islepathactor.h"
6
7class Act1State;
8
11// VTABLE: LEGO1 0x100d55f0
12// VTABLE: BETA10 0x101bfc70
13// SIZE 0x168
14class SkateBoard : public IslePathActor {
15public:
17 SkateBoard();
18
20 ~SkateBoard() override;
21
24 const char* ClassName() const override // vtable+0x0c
25 {
26 // STRING: LEGO1 0x100f041c
27 return "SkateBoard";
28 }
29
33 MxBool IsA(const char* p_name) const override // vtable+0x10
34 {
35 return !strcmp(p_name, SkateBoard::ClassName()) || IslePathActor::IsA(p_name);
36 }
37
41 MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18
42
45 MxLong HandleClick() override; // vtable+0xcc
46
49 MxLong HandleNotification0() override; // vtable+0xd0
50
54 MxLong HandleControl(LegoControlManagerNotificationParam& p_param) override; // vtable+0xd4
55
58 void Exit() override; // vtable+0xe4
59
62 void SetPizzaVisible(MxBool p_pizzaVisible) { m_pizzaVisible = p_pizzaVisible; }
63
67
71 void EnableScenePresentation(MxBool p_enable);
72
73 // SYNTHETIC: LEGO1 0x1000ff60
74 // SkateBoard::`scalar deleting destructor'
75
76private:
77 MxBool m_pizzaVisible;
78 Act1State* m_act1state;
79};
80
81#endif // SKATEBOARD_H
[AI] Holds state and transient gameplay data for the first act on Lego Island.
Definition: isle.h:29
Derived path actor type for handling player transitions and activities on LEGO Island.
Definition: islepathactor.h:23
MxBool IsA(const char *p_name) const override
[AI] Checks if class or any superclass matches the given type string.
[AI] Notification parameter for the LegoControlManager, used to propagate information about control e...
[AI] Represents an action deserialized from SI chunks, holding key animation or script parameters suc...
Definition: mxdsaction.h:17
[AI] Represents the skateboard vehicle actor used in the minigame and cutscenes.
Definition: skateboard.h:14
void SetPizzaVisible(MxBool p_pizzaVisible)
[AI] Sets whether the pizza bitmap/scene is visible in the skateboard minigame.
Definition: skateboard.h:62
~SkateBoard() override
[AI] Destructor that performs de-registration from control/notification managers. [AI]
Definition: skateboard.cpp:32
MxLong HandleClick() override
[AI] Handles player click events on the SkateBoard.
Definition: skateboard.cpp:74
const char * ClassName() const override
[AI] Returns the class name "SkateBoard" for runtime type checks.
Definition: skateboard.h:24
MxLong HandleNotification0() override
[AI] Responds to a generic notification.
Definition: skateboard.cpp:142
MxLong HandleControl(LegoControlManagerNotificationParam &p_param) override
[AI] Handles controller input or notification events directed at the SkateBoard (e....
Definition: skateboard.cpp:109
MxBool IsA(const char *p_name) const override
[AI] Checks if this instance is of type "SkateBoard" or a base type.
Definition: skateboard.h:33
void ActivateSceneActions()
[AI] Activates the skateboard scene-specific scripted actions, including animations and music.
Definition: skateboard.cpp:149
SkateBoard()
[AI] Constructs the SkateBoard actor and registers it for notifications. [AI]
Definition: skateboard.cpp:21
void Exit() override
[AI] Exits the skateboard sequence, unregisters itself, and resets related scene state.
Definition: skateboard.cpp:57
MxResult Create(MxDSAction &p_dsAction) override
[AI] Initializes the SkateBoard from a DSAction (e.g., script sequence start).
Definition: skateboard.cpp:39
void EnableScenePresentation(MxBool p_enable)
[AI] Enables or disables the presentation (visual display) of pizza in the skateboard scene.
Definition: skateboard.cpp:124
#define override
Definition: compat.h:21
MxU8 MxBool
[AI]
Definition: mxtypes.h:124
MxLong MxResult
[AI]
Definition: mxtypes.h:106
int MxLong
[AI]
Definition: mxtypes.h:83