Last updated
#include <RED4ext/RED4ext.hpp>
bool BaseInit_OnEnter(RED4ext::CGameApplication* aApp)
{
return true;
}
bool BaseInit_OnUpdate(RED4ext::CGameApplication* aApp)
{
static uint32_t i = 0;
if (i == 3)
{
return true;
}
i++;
return false;
}
bool BaseInit_OnExit(RED4ext::CGameApplication* aApp)
{
return true;
}
bool Shutdown_OnUpdate(RED4ext::CGameApplication* aApp)
{
static uint32_t i = 0;
if (i == 3)
{
return true;
}
i++;
return false;
}
RED4EXT_C_EXPORT bool RED4EXT_CALL Main(RED4ext::PluginHandle aHandle, RED4ext::EMainReason aReason, const RED4ext::Sdk* aSdk)
{
switch (aReason)
{
case RED4ext::EMainReason::Load:
{
RED4ext::GameState initState;
initState.OnEnter = &BaseInit_OnEnter;
initState.OnUpdate = &BaseInit_OnUpdate;
initState.OnExit = &BaseInit_OnExit;
aSdk->gameStates->Add(aHandle, RED4ext::EGameStateType::BaseInitialization, &initState);
RED4ext::GameState shutdownState;
shutdownState.OnEnter = nullptr;
shutdownState.OnUpdate = &Shutdown_OnUpdate;
shutdownState.OnExit = nullptr;
aSdk->gameStates->Add(aHandle, RED4ext::EGameStateType::Shutdown, &shutdownState);
break;
}
case RED4ext::EMainReason::Unload:
{
break;
}
}
return true;
}