#pragma once #include #include "Runtime/RetroTypes.hpp" #include "Runtime/World/ScriptObjectSupport.hpp" namespace metaforce { struct SConnection { EScriptObjectState x0_state = EScriptObjectState::Any; EScriptObjectMessage x4_msg = EScriptObjectMessage::None; TEditorId x8_objId = kInvalidEditorId; bool operator==(const SConnection& other) const { return x0_state == other.x0_state && x4_msg == other.x4_msg && x8_objId == other.x8_objId; } bool operator<(const SConnection& other) const { return x8_objId < other.x8_objId; } }; class CEntityInfo { TAreaId x0_areaId; std::vector x4_conns; TEditorId x14_editorId; public: CEntityInfo(TAreaId aid, std::vector conns, TEditorId eid = kInvalidEditorId) : x0_areaId(aid), x4_conns(std::move(conns)), x14_editorId(eid) {} TAreaId GetAreaId() const { return x0_areaId; } std::vector GetConnectionList() const { return x4_conns; } TEditorId GetEditorId() const { return x14_editorId; } }; } // namespace metaforce