Files
Sun1602/Tools/WiseClient/ScriptLogic/ScriptLogic.Entry.cpp
T
2022-10-26 12:25:11 +08:00

83 lines
1.5 KiB
C++

#include "stdafx.h"
//
#include "ScriptLogic.Interfaces.h"
static ScriptLogicFrame* sp_Instance = NULL;
//////////////////////////////////////////////////////////////////////////
ScriptLogicFrame::ScriptLogicFrame() : m_pExportedInterface(NULL)
{
}
ScriptLogicFrame::~ScriptLogicFrame()
{
}
VOID ScriptLogicFrame::CreateInstance()
{
sp_Instance = new ScriptLogicFrame();
}
VOID ScriptLogicFrame::DestroyInstance()
{
SAFE_DELETE( sp_Instance );
}
ScriptLogicFrame* ScriptLogicFrame::GetScriptLogicFrame()
{
return sp_Instance;
}
VOID ScriptLogicFrame::Init( ScriptLogicInterface* IN OUT pInterface )
{
sp_Instance->m_pExportedInterface = pInterface;
for( INT iSTEP = eWISE_ROUTINES_LOGO; iSTEP<eWISE_ROUTINES_MAX ; ++iSTEP )
{
SolutionRouter::Execute( (eWISE_ROUTINES)iSTEP );
}
}
ScriptLogicInterface* ScriptLogicFrame::GetInterfaceRef()
{
return sp_Instance->m_pExportedInterface;
}
VOID ScriptLogicFrame::Update()
{
}
DECLARE_BASE_WISE_STEP_FUNCTION()
{
DISPMSG( "Script Logic Module...\n" );
}
REGISTER_STEP_HANDLER_BASE( eWISE_ROUTINES_INIT_DATA_CENTER );
//////////////////////////////////////////////////////////////////////////
//
BOOL APIENTRY DllMain( HANDLE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
SharedMemoryPool::CreateInstance();
break;
case DLL_THREAD_ATTACH:
case DLL_THREAD_DETACH:
break;
case DLL_PROCESS_DETACH:
//SharedMemoryPool::DestroyInstance();
break;
}
return TRUE;
}