84 lines
1.6 KiB
C++
84 lines
1.6 KiB
C++
#include "SaveMigration.h"
|
|
|
|
// Network Headers
|
|
#include "Network/Cloud/Tunables.h"
|
|
|
|
// Game headers
|
|
#include "Core/Game.h"
|
|
|
|
#if __BANK
|
|
#include "bank/bkmgr.h"
|
|
#include "bank/bank.h"
|
|
#endif // __BANK
|
|
|
|
SAVEGAME_OPTIMISATIONS()
|
|
NETWORK_OPTIMISATIONS()
|
|
|
|
// --- Static Class Members -----------------------------------------------------
|
|
|
|
CSaveMigration_multiplayer CSaveMigration::sm_Multiplayer;
|
|
CSaveMigration_singleplayer CSaveMigration::sm_Singleplayer;
|
|
|
|
// --- End Static Class Members -----------------------------------------------------
|
|
|
|
void CSaveMigration::Init(unsigned initMode)
|
|
{
|
|
if (initMode == INIT_CORE)
|
|
{
|
|
sm_Multiplayer.Init();
|
|
sm_Singleplayer.Init();
|
|
|
|
BANK_ONLY(Bank_InitWidgets();)
|
|
}
|
|
}
|
|
|
|
void CSaveMigration::Shutdown(unsigned shutdownMode)
|
|
{
|
|
if (shutdownMode == SHUTDOWN_CORE)
|
|
{
|
|
BANK_ONLY(Bank_ShutdownWidgets();)
|
|
|
|
sm_Multiplayer.Shutdown();
|
|
sm_Singleplayer.Shutdown();
|
|
}
|
|
}
|
|
|
|
void CSaveMigration::Update()
|
|
{
|
|
sm_Multiplayer.Update();
|
|
sm_Singleplayer.Update();
|
|
|
|
BANK_ONLY(Bank_Update();)
|
|
}
|
|
|
|
#if __BANK
|
|
void CSaveMigration::Bank_InitWidgets()
|
|
{
|
|
bkBank* bank = BANKMGR.FindBank("SaveMigration");
|
|
if (!bank)
|
|
{
|
|
bank = &BANKMGR.CreateBank("SaveMigration");
|
|
|
|
sm_Multiplayer.Bank_InitWidgets(bank);
|
|
sm_Singleplayer.Bank_InitWidgets(bank);
|
|
}
|
|
}
|
|
|
|
void CSaveMigration::Bank_ShutdownWidgets()
|
|
{
|
|
bkBank* bank = BANKMGR.FindBank("SaveMigration");
|
|
if (bank)
|
|
{
|
|
sm_Multiplayer.Bank_ShutdownWidgets(bank);
|
|
sm_Singleplayer.Bank_ShutdownWidgets(bank);
|
|
|
|
BANKMGR.DestroyBank(*bank);
|
|
}
|
|
}
|
|
|
|
void CSaveMigration::Bank_Update()
|
|
{
|
|
sm_Multiplayer.Bank_Update();
|
|
sm_Singleplayer.Bank_Update();
|
|
}
|
|
#endif |