Files
wnmj/Servers/游戏组件/上饶打炸/游戏服务器/GameServerManager.cpp

183 lines
5.4 KiB
C++
Raw Normal View History

2026-02-13 14:34:15 +08:00
#include "StdAfx.h"
#include "Tableframesink.h"
#include "GameServerManager.h"
//////////////////////////////////////////////////////////////////////////
//ȫ<>ֱ<EFBFBD><D6B1><EFBFBD>
static CGameServiceManager g_GameServiceManager; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//////////////////////////////////////////////////////////////////////////
//<2F><><EFBFBD><EFBFBD><ECBAAF>
CGameServiceManager::CGameServiceManager(void)
{
// //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// m_GameServiceAttrib.wKindID=KIND_ID;
// m_GameServiceAttrib.wChairCount=GAME_PLAYER;
// m_GameServiceAttrib.cbJoinInGame=FALSE;
// lstrcpyn(m_GameServiceAttrib.szKindName,GAME_NAME,CountArray(m_GameServiceAttrib.szKindName));
// lstrcpyn(m_GameServiceAttrib.szDataBaseName,TEXT("QPShuangKouBBDB"),CountArray(m_GameServiceAttrib.szDataBaseName));
//
//#ifdef VIDEO_GAME
// lstrcpyn(m_GameServiceAttrib.szDescription,TEXT("˫<><CBAB><EFBFBD><EFBFBD>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"),CountArray(m_GameServiceAttrib.szDescription));
// lstrcpyn(m_GameServiceAttrib.szClientModuleName,TEXT("ShuangKouBBVD.EXE"),CountArray(m_GameServiceAttrib.szClientModuleName));
// lstrcpyn(m_GameServiceAttrib.szServerModuleName,TEXT("ShuangKouBBVDServer.DLL"),CountArray(m_GameServiceAttrib.szServerModuleName));
//#else
// lstrcpyn(m_GameServiceAttrib.szDescription,TEXT("˫<><CBAB><EFBFBD><EFBFBD>Ϸ<EFBFBD><CFB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"),CountArray(m_GameServiceAttrib.szDescription));
// lstrcpyn(m_GameServiceAttrib.szClientModuleName,TEXT("ShuangKouBB.EXE"),CountArray(m_GameServiceAttrib.szClientModuleName));
// lstrcpyn(m_GameServiceAttrib.szServerModuleName,TEXT("ShuangKouBBServer.DLL"),CountArray(m_GameServiceAttrib.szServerModuleName));
//#endif
//<2F>ؼ<EFBFBD><D8BC><EFBFBD><EFBFBD><EFBFBD>
m_hDllInstance = NULL;
//<2F>ں<EFBFBD><DABA><EFBFBD><EFBFBD><EFBFBD>
m_GameServiceAttrib.wKindID = KIND_ID;
m_GameServiceAttrib.wChairCount = GAME_PLAYER;
m_GameServiceAttrib.wSupporType = (GAME_GENRE_GOLD | GAME_GENRE_SCORE | GAME_GENRE_MATCH | GAME_GENRE_EDUCATE | SCORE_GENRE_NORMAL);
//<2F><><EFBFBD>ܱ<EFBFBD>־
m_GameServiceAttrib.cbDynamicJoin = FALSE;
m_GameServiceAttrib.cbAndroidUser = TRUE;
m_GameServiceAttrib.cbOffLineTrustee = TRUE;
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
m_GameServiceAttrib.dwServerVersion = VERSION_SERVER;
m_GameServiceAttrib.dwClientVersion = VERSION_CLIENT;
lstrcpyn(m_GameServiceAttrib.szGameName, GAME_NAME, CountArray(m_GameServiceAttrib.szGameName));
lstrcpyn(m_GameServiceAttrib.szDataBaseName, TEXT("QPSRDZDB"), CountArray(m_GameServiceAttrib.szDataBaseName));
lstrcpyn(m_GameServiceAttrib.szClientEXEName, TEXT("SRDZ.EXE"), CountArray(m_GameServiceAttrib.szClientEXEName));
lstrcpyn(m_GameServiceAttrib.szServerDLLName, TEXT("SRDZServer.DLL"), CountArray(m_GameServiceAttrib.szServerDLLName));
return;
}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CGameServiceManager::~CGameServiceManager(void)
{
}
//<2F>ӿڲ<D3BF>ѯ
VOID * CGameServiceManager::QueryInterface(REFGUID Guid, DWORD dwQueryVer)
{
QUERYINTERFACE(IGameServiceManager,Guid,dwQueryVer);
QUERYINTERFACE_IUNKNOWNEX(IGameServiceManager,Guid,dwQueryVer);
return NULL;
}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϸ<EFBFBD><CFB7>
VOID * CGameServiceManager::CreateTableFrameSink(REFGUID Guid, DWORD dwQueryVer)
{
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
CTableFrameSink * pTableFrameSink=NULL;
try
{
pTableFrameSink=new CTableFrameSink();
if (pTableFrameSink==NULL) throw TEXT("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><EFBFBD>");
void * pObject=pTableFrameSink->QueryInterface(Guid,dwQueryVer);
if (pObject==NULL) throw TEXT("<EFBFBD>ӿڲ<EFBFBD>ѯʧ<EFBFBD><EFBFBD>");
return pObject;
}
catch (...) {}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
SafeDelete(pTableFrameSink);
return NULL;
}
////<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>
//void __cdecl CGameServiceManager::GetGameServiceAttrib(tagGameServiceAttrib & GameServiceAttrib)
//{
// GameServiceAttrib=m_GameServiceAttrib;
// return;
//}
//
////<2F><><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>
//bool __cdecl CGameServiceManager::RectifyServiceOption(tagGameServiceOption * pGameServiceOption)
//{
// //Ч<><D0A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// ASSERT(pGameServiceOption!=NULL);
// if (pGameServiceOption==NULL) return false;
//
// //<2F><>Ԫ<EFBFBD><D4AA><EFBFBD><EFBFBD>
// pGameServiceOption->lCellScore=__max(1L,pGameServiceOption->lCellScore);
//
// //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// if (pGameServiceOption->wServerType==GAME_GENRE_GOLD)
// {
// pGameServiceOption->lLessScore=__max(pGameServiceOption->lCellScore*6L,pGameServiceOption->lLessScore);
// }
///*
//
// //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// if (pGameServiceOption->lRestrictScore!=0L)
// {
// pGameServiceOption->lRestrictScore=__max(pGameServiceOption->lRestrictScore,pGameServiceOption->lLessScore);
// }
//*/
//
// return true;
//}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
VOID * CGameServiceManager::CreateAndroidUserItemSink(REFGUID Guid, DWORD dwQueryVer)
{
return NULL;
}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
VOID * CGameServiceManager::CreateGameDataBaseEngineSink(REFGUID Guid, DWORD dwQueryVer)
{
return NULL;
}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
bool CGameServiceManager::GetServiceAttrib(tagGameServiceAttrib & GameServiceAttrib)
{
//<2F><><EFBFBD>ñ<EFBFBD><C3B1><EFBFBD>
GameServiceAttrib = m_GameServiceAttrib;
return true;
}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
bool CGameServiceManager::RectifyParameter(tagGameServiceOption & GameServiceOption)
{
//<2F><><EFBFBD>淿<EFBFBD><E6B7BF>ѡ<EFBFBD><D1A1>
m_GameServiceOption = GameServiceOption;
//<2F><>Ԫ<EFBFBD><D4AA><EFBFBD><EFBFBD>
GameServiceOption.lCellScore = __max(1L, GameServiceOption.lCellScore);
return true;
}
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>
bool CGameServiceManager::SaveCustomRule(LPBYTE pcbCustomRule, WORD wCustonSize)
{
return true;
}
//Ĭ<><C4AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
bool CGameServiceManager::DefaultCustomRule(LPBYTE pcbCustomRule, WORD wCustonSize)
{
return true;
}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
HWND CGameServiceManager::CreateCustomRule(CWnd * pParentWnd, CRect rcCreate, LPBYTE pcbCustomRule, WORD wCustonSize)
{
return nullptr;
}
//////////////////////////////////////////////////////////////////////////
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
extern "C" __declspec(dllexport) void * __cdecl CreateGameServiceManager(const GUID & Guid, DWORD dwInterfaceVer)
{
return g_GameServiceManager.QueryInterface(Guid,dwInterfaceVer);
}
//////////////////////////////////////////////////////////////////////////