metaforce/Runtime/CStateManager.hpp

59 lines
1.5 KiB
C++
Raw Normal View History

2016-04-13 06:07:23 +00:00
#ifndef __URDE_CSTATEMANAGER_HPP__
#define __URDE_CSTATEMANAGER_HPP__
2015-08-17 05:26:58 +00:00
#include <memory>
#include "CBasics.hpp"
2015-08-19 05:48:57 +00:00
#include "ScriptObjectSupport.hpp"
#include "GameObjectLists.hpp"
#include "Camera/CCameraManager.hpp"
2015-08-17 05:26:58 +00:00
2016-03-04 23:04:53 +00:00
namespace urde
{
2015-08-22 01:58:41 +00:00
class CScriptMailbox;
class CMapWorldInfo;
class CPlayerState;
class CWorldTransManager;
class CObjectList;
2015-08-18 05:54:43 +00:00
class CStateManager
2015-08-17 05:26:58 +00:00
{
TUniqueId x8_idArr[1024] = {};
std::unique_ptr<CObjectList> x80c_allObjs;
std::unique_ptr<CActorList> x814_allObjs;
std::unique_ptr<CPhysicsActorList> x81c_allObjs;
std::unique_ptr<CGameCameraList> x824_allObjs;
std::unique_ptr<CGameLightList> x82c_allObjs;
std::unique_ptr<CListeningAiList> x834_allObjs;
std::unique_ptr<CAiWaypointList> x83c_allObjs;
std::unique_ptr<CPlatformAndDoorList> x844_allObjs;
std::list<u32> x858_;
// x86c_stateManagerContainer;
2016-04-14 21:42:47 +00:00
std::shared_ptr<CPlayerState> x8b8_playerState;
2015-08-17 05:26:58 +00:00
public:
CStateManager(const std::weak_ptr<CScriptMailbox>&,
const std::weak_ptr<CMapWorldInfo>&,
const std::weak_ptr<CPlayerState>&,
const std::weak_ptr<CWorldTransManager>&);
2015-08-19 05:48:57 +00:00
2016-04-15 03:02:21 +00:00
const std::shared_ptr<CPlayerState>& GetPlayerState() const {return x8b8_playerState;}
2016-04-14 21:42:47 +00:00
2015-08-19 05:48:57 +00:00
void GetObjectListById() const
{
}
void GetObjectById(TUniqueId uid) const
{
}
void SendScriptMsg(TUniqueId uid, TEditorId eid, EScriptObjectMessage msg, EScriptObjectState state);
TUniqueId AllocateUniqueId();
2015-08-17 05:26:58 +00:00
};
}
2015-08-17 05:26:58 +00:00
#endif