2022-10-15 16:24:27 +00:00
|
|
|
#ifndef _CSCRIPTMAILBOX
|
|
|
|
#define _CSCRIPTMAILBOX
|
|
|
|
|
|
|
|
#include "MetroidPrime/TGameTypes.hpp"
|
|
|
|
|
2022-10-27 04:40:41 +00:00
|
|
|
#include "rstl/reserved_vector.hpp"
|
|
|
|
|
|
|
|
class CWorldSaveGameInfo;
|
|
|
|
class CInputStream;
|
|
|
|
class COutputStream;
|
|
|
|
class CStateManager;
|
2022-10-15 16:24:27 +00:00
|
|
|
class CScriptMailbox {
|
|
|
|
public:
|
2022-10-27 04:40:41 +00:00
|
|
|
CScriptMailbox();
|
|
|
|
CScriptMailbox(CInputStream& in, const CWorldSaveGameInfo& world);
|
|
|
|
~CScriptMailbox();
|
|
|
|
void PutTo(COutputStream& out, CWorldSaveGameInfo& world) const;
|
|
|
|
void SendMsgs(const TAreaId& area, CStateManager& mgr);
|
|
|
|
void AddMsg(TEditorId id);
|
|
|
|
void RemoveMsg(TEditorId id);
|
|
|
|
bool HasMsg(TEditorId id) const;
|
|
|
|
|
|
|
|
private:
|
|
|
|
rstl::reserved_vector< TEditorId, 512 > x0_relays;
|
2022-10-15 16:24:27 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif // _CSCRIPTMAILBOX
|