Isle
Loading...
Searching...
No Matches
InfocenterState Class Reference

[AI] Represents the state of the Infocenter area, storing scripts, dialogue playlists and UI letter presenters. More...

#include <infocenter.h>

Inheritance diagram for InfocenterState:
Collaboration diagram for InfocenterState:

Public Member Functions

 InfocenterState ()
 [AI] Constructs the InfocenterState, initializing all dialogue playlists and clearing letter pointers. More...
 
 ~InfocenterState () override
 [AI] Destroys the InfocenterState, cleaning up letter presenters and their associated actions. More...
 
MxBool IsSerializable () override
 [AI] Indicates the state is not serializable—InfocenterState is not saved to disk. More...
 
const char * ClassName () const override
 [AI] Returns the runtime class name. More...
 
MxBool IsA (const char *p_name) const override
 [AI] Type check for InfocenterState and base classes by name. More...
 
MxS16 GetMaxNameLength ()
 [AI] Returns the maximum number of letters in the UI registration name (always 7). More...
 
MxStillPresenterGetNameLetter (MxS32 p_index)
 [AI] Returns the pointer to the UI presenter for a specific letter in the name field. More...
 
void SetNameLetter (MxS32 p_index, MxStillPresenter *p_letter)
 [AI] Sets the UI presenter for a specific name letter slot. More...
 
MxBool HasRegistered ()
 [AI] True if any letter slot is filled (indicating the player has registered). More...
 
InfomainScript::Script GetNextLeaveDialogue ()
 [AI] Gets the next "leave" dialogue script for the current act, looping within the act's playlist. More...
 
InfomainScript::Script GetNextReturnDialogue ()
 [AI] Gets the next "return" dialogue script for the current act, looping within the act's playlist. More...
 
PlaylistGetExitDialogueAct1 ()
 [AI] Returns the exit dialogue playlist for act 1. More...
 
PlaylistGetExitDialogueAct23 ()
 [AI] Returns the exit dialogue playlist for act 2 and 3. More...
 
PlaylistGetBricksterDialogue ()
 [AI] Returns the Brickster random interjection dialogue playlist. More...
 
- Public Member Functions inherited from LegoState
 ~LegoState () override
 [AI] Virtual destructor to allow subclass cleanup. More...
 
virtual MxBool IsSerializable ()
 [AI] Returns if this state can be serialized (for game saving/loading support). More...
 
virtual MxBool Reset ()
 [AI] Hook for returning object to default (empty) state; not implemented in this base. More...
 
virtual MxResult Serialize (LegoStorage *p_storage)
 [AI] Serialize state to a storage (for save/load). More...
 
const char * ClassName () const override
 [AI] Gets this class's name for RTTI/IsA functionality. More...
 
MxBool IsA (const char *p_name) const override
 [AI] Tests if this object is of a given class name, directly or through inheritance. More...
 
- Public Member Functions inherited from MxCore
 MxCore ()
 [AI] Constructs a new MxCore object and assigns it a unique id. More...
 
virtual ~MxCore ()
 [AI] Virtual destructor. Required for correct polymorphic cleanup in derived classes. More...
 
virtual MxLong Notify (MxParam &p_param)
 [AI] Virtual callback notification mechanism. More...
 
virtual MxResult Tickle ()
 [AI] Called by tickle managers to allow the object to update itself. More...
 
virtual const char * ClassName () const
 [AI] Returns the runtime class name of this object. More...
 
virtual MxBool IsA (const char *p_name) const
 [AI] Checks whether this object's class type or parents match the given name. More...
 
MxU32 GetId ()
 [AI] Gets the unique (per-process) id assigned to this object instance. More...
 

Public Attributes

Playlist m_exitDialogueAct1
 [AI] Playlist of exit dialogue scripts for Act 1. More...
 
Playlist m_exitDialogueAct23
 [AI] Playlist of exit dialogue scripts for Act 2/3. More...
 
Playlist m_returnDialogue [3]
 [AI] Playlists for return dialogue, one per act (indices: 0=act1, 1=act2, 2=act3). More...
 
Playlist m_leaveDialogue [3]
 [AI] Playlists for leave dialogue, one per act (indices: 0=act1, 1=act2, 2=act3). More...
 
Playlist m_bricksterDialogue
 [AI] Playlist for Brickster special dialogue events ("heckling"). More...
 
MxU32 m_unk0x74
 [AI] State machine variable tracking the Infocenter flow (e.g., 0=intro, 3=NA, 4=goto book, etc). More...
 
MxStillPresenterm_letters [7]
 [AI] UI presenters for each slot in the 7-letter name entry field (could be player's registered name). More...
 

Additional Inherited Members

- Public Types inherited from LegoState
enum  ScoreColor { e_grey = 0 , e_yellow , e_blue , e_red }
 [AI] Score coloring values for in-game display feedback or logic. More...
 

Detailed Description

[AI] Represents the state of the Infocenter area, storing scripts, dialogue playlists and UI letter presenters.

[AI] This state class manages Infocenter-specific state, including tracked dialogue scripts for various acts, Brickster/exit dialogues, and a 7-letter list (used for player's name display/register). It also tracks an internal flag (m_unk0x74) representing a state machine, as well as presenters for UI.

Definition at line 23 of file infocenter.h.

Constructor & Destructor Documentation

◆ InfocenterState()

InfocenterState::InfocenterState ( )

[AI] Constructs the InfocenterState, initializing all dialogue playlists and clearing letter pointers.

Definition at line 1548 of file infocenter.cpp.

◆ ~InfocenterState()

InfocenterState::~InfocenterState ( )
override

[AI] Destroys the InfocenterState, cleaning up letter presenters and their associated actions.

Definition at line 1578 of file infocenter.cpp.

Member Function Documentation

◆ ClassName()

const char * InfocenterState::ClassName ( ) const
inlineoverridevirtual

[AI] Returns the runtime class name.

Returns
"InfocenterState" [AI]

Reimplemented from MxCore.

Definition at line 45 of file infocenter.h.

◆ GetBricksterDialogue()

Playlist & InfocenterState::GetBricksterDialogue ( )
inline

[AI] Returns the Brickster random interjection dialogue playlist.

[AI]

Definition at line 116 of file infocenter.h.

◆ GetExitDialogueAct1()

Playlist & InfocenterState::GetExitDialogueAct1 ( )
inline

[AI] Returns the exit dialogue playlist for act 1.

[AI]

Definition at line 106 of file infocenter.h.

◆ GetExitDialogueAct23()

Playlist & InfocenterState::GetExitDialogueAct23 ( )
inline

[AI] Returns the exit dialogue playlist for act 2 and 3.

[AI]

Definition at line 111 of file infocenter.h.

◆ GetMaxNameLength()

MxS16 InfocenterState::GetMaxNameLength ( )
inline

[AI] Returns the maximum number of letters in the UI registration name (always 7).

Returns
Maximum length of name (7). [AI]

Definition at line 64 of file infocenter.h.

◆ GetNameLetter()

MxStillPresenter * InfocenterState::GetNameLetter ( MxS32  p_index)
inline

[AI] Returns the pointer to the UI presenter for a specific letter in the name field.

Parameters
p_indexIndex of the letter (0-6). [AI]

Definition at line 70 of file infocenter.h.

◆ GetNextLeaveDialogue()

InfomainScript::Script InfocenterState::GetNextLeaveDialogue ( )
inline

[AI] Gets the next "leave" dialogue script for the current act, looping within the act's playlist.

Returns
The next InfomainScript script for leave dialogue in current act. [AI]

Definition at line 89 of file infocenter.h.

◆ GetNextReturnDialogue()

InfomainScript::Script InfocenterState::GetNextReturnDialogue ( )
inline

[AI] Gets the next "return" dialogue script for the current act, looping within the act's playlist.

Returns
The next InfomainScript script for return dialogue in current act. [AI]

Definition at line 98 of file infocenter.h.

◆ HasRegistered()

MxBool InfocenterState::HasRegistered ( )
inline

[AI] True if any letter slot is filled (indicating the player has registered).

Returns
True if the first letter slot is not NULL. [AI]

Definition at line 83 of file infocenter.h.

◆ IsA()

MxBool InfocenterState::IsA ( const char *  p_name) const
inlineoverridevirtual

[AI] Type check for InfocenterState and base classes by name.

Parameters
p_nameName to test. [AI]
Returns
True if @p_name is this or a parent class name. [AI]

Reimplemented from MxCore.

Definition at line 55 of file infocenter.h.

◆ IsSerializable()

MxBool InfocenterState::IsSerializable ( )
inlineoverridevirtual

[AI] Indicates the state is not serializable—InfocenterState is not saved to disk.

Returns
Always returns FALSE [AI]

Reimplemented from LegoState.

Definition at line 39 of file infocenter.h.

◆ SetNameLetter()

void InfocenterState::SetNameLetter ( MxS32  p_index,
MxStillPresenter p_letter 
)
inline

[AI] Sets the UI presenter for a specific name letter slot.

Parameters
p_indexIndex in the letters array [AI]
p_letterPresenter to assign [AI]

Definition at line 77 of file infocenter.h.

Member Data Documentation

◆ m_bricksterDialogue

Playlist InfocenterState::m_bricksterDialogue

[AI] Playlist for Brickster special dialogue events ("heckling").

[AI]

Definition at line 144 of file infocenter.h.

◆ m_exitDialogueAct1

Playlist InfocenterState::m_exitDialogueAct1

[AI] Playlist of exit dialogue scripts for Act 1.

[AI]

Definition at line 124 of file infocenter.h.

◆ m_exitDialogueAct23

Playlist InfocenterState::m_exitDialogueAct23

[AI] Playlist of exit dialogue scripts for Act 2/3.

[AI]

Definition at line 129 of file infocenter.h.

◆ m_leaveDialogue

Playlist InfocenterState::m_leaveDialogue[3]

[AI] Playlists for leave dialogue, one per act (indices: 0=act1, 1=act2, 2=act3).

[AI]

Definition at line 139 of file infocenter.h.

◆ m_letters

MxStillPresenter* InfocenterState::m_letters[7]

[AI] UI presenters for each slot in the 7-letter name entry field (could be player's registered name).

Definition at line 154 of file infocenter.h.

◆ m_returnDialogue

Playlist InfocenterState::m_returnDialogue[3]

[AI] Playlists for return dialogue, one per act (indices: 0=act1, 1=act2, 2=act3).

[AI]

Definition at line 134 of file infocenter.h.

◆ m_unk0x74

MxU32 InfocenterState::m_unk0x74

[AI] State machine variable tracking the Infocenter flow (e.g., 0=intro, 3=NA, 4=goto book, etc).

Definition at line 149 of file infocenter.h.


The documentation for this class was generated from the following files: