metaforce/Runtime/MP1/CMFGame.cpp

93 lines
2.0 KiB
C++
Raw Normal View History

2015-08-22 01:58:41 +00:00
#include "CMFGame.hpp"
#include "CArchitectureQueue.hpp"
#include "GameGlobalObjects.hpp"
#include "CGameState.hpp"
#include "CStateManager.hpp"
#include "World/CPlayer.hpp"
2016-08-15 20:58:07 +00:00
#include "MP1.hpp"
2016-08-23 03:12:50 +00:00
#include "Character/CCharLayoutInfo.hpp"
2015-08-22 01:58:41 +00:00
2016-03-04 23:04:53 +00:00
namespace urde
2015-08-22 01:58:41 +00:00
{
2015-08-27 00:23:46 +00:00
namespace MP1
{
2015-08-22 01:58:41 +00:00
CMFGame::CMFGame(const std::weak_ptr<CStateManager>& stateMgr, const std::weak_ptr<CInGameGuiManager>& guiMgr,
const CArchitectureQueue&)
2017-01-25 04:40:19 +00:00
: CMFGameBase("CMFGame"), x14_stateManager(stateMgr.lock()), x18_guiManager(guiMgr.lock())
{
2017-01-25 04:40:19 +00:00
x2a_25_ = true;
//g_Main->x160_25_ = true;
}
CIOWin::EMessageReturn CMFGame::OnMessage(const CArchitectureMessage& msg, CArchitectureQueue& queue)
{
return EMessageReturn::Normal;
}
void CMFGame::Draw() const
{
}
CMFGameLoader::CMFGameLoader() : CMFGameLoaderBase("CMFGameLoader")
2016-08-15 20:58:07 +00:00
{
CMain* m = static_cast<CMain*>(g_Main);
switch (m->GetFlowState())
2016-08-15 20:58:07 +00:00
{
case EFlowState::Five:
case EFlowState::Six:
2016-08-15 20:58:07 +00:00
{
ResId mlvlId = g_GameState->CurrentWorldAssetId();
// g_GameState->WorldTransitionManager()->
// g_MemoryCardSys->
2016-08-15 20:58:07 +00:00
}
default:
{
}
}
}
2016-10-09 07:45:04 +00:00
void CMFGameLoader::MakeLoadDependencyList()
{
}
2015-08-26 01:34:56 +00:00
CIOWin::EMessageReturn CMFGameLoader::OnMessage(const CArchitectureMessage& msg, CArchitectureQueue& queue)
2015-08-22 01:58:41 +00:00
{
2016-08-16 22:49:19 +00:00
std::shared_ptr<CWorldTransManager> wtMgr = g_GameState->GetWorldTransitionManager();
2016-08-15 20:58:07 +00:00
2015-08-22 01:58:41 +00:00
switch (msg.GetType())
{
2015-11-21 01:16:07 +00:00
case EArchMsgType::TimerTick:
2015-08-22 01:58:41 +00:00
{
const CArchMsgParmReal32& tick = MakeMsg::GetParmTimerTick(msg);
2016-10-09 07:45:04 +00:00
float dt = tick.x4_parm;
if (!x2c_24_initialized)
{
if (x1c_.empty())
MakeLoadDependencyList();
wtMgr->StartTransition();
}
else
{
wtMgr->Update(dt);
}
2015-08-22 01:58:41 +00:00
}
default:
break;
2015-08-22 01:58:41 +00:00
}
2015-11-21 01:16:07 +00:00
return EMessageReturn::Exit;
2015-08-22 01:58:41 +00:00
}
void CMFGameLoader::Draw() const { g_GameState->GetWorldTransitionManager()->Draw(); }
void CMFGameLoader::Touch()
{
x14_stateMgr->TouchSky();
x14_stateMgr->TouchPlayerActor();
x14_stateMgr->Player()->Touch();
}
2015-08-22 01:58:41 +00:00
}
2015-08-27 00:23:46 +00:00
}