扯旋【源码】

[复制链接]

该用户从未签到

2380

主题

2433

帖子

9139

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
9139
QQ
跳转到指定楼层
楼主
发表于 2017-6-13 11:56:45 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

想要查看内容赶紧注册登陆吧!

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
#include "StdAfx.h"
#include "Tableframesink.h"
#include "GameServerManager.h"

//////////////////////////////////////////////////////////////////////////

//全局变量
static CGameServiceManager            g_GameServiceManager;                //管理变量

//////////////////////////////////////////////////////////////////////////


//构造函数
CGameServiceManager::CGameServiceManager(void)
{
    //设置属性
    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);

    //功能标志
    m_GameServiceAttrib.cbDynamicJoin=TRUE;
    m_GameServiceAttrib.cbAndroidUser=TRUE;
    m_GameServiceAttrib.cbOffLineTrustee=FALSE;

    //服务属性
    m_GameServiceAttrib.dwServerVersion=VERSION_SERVER;
    m_GameServiceAttrib.dwClientVersion=VERSION_CLIENT;
    lstrcpyn(m_GameServiceAttrib.szGameName,GAME_NAME,CountArray(m_GameServiceAttrib.szGameName));
    lstrcpyn(m_GameServiceAttrib.szDataBaseName,szTreasureDB,CountArray(m_GameServiceAttrib.szDataBaseName));

    lstrcpyn(m_GameServiceAttrib.szClientEXEName,TEXT("CheXuan.EXE"),CountArray(m_GameServiceAttrib.szClientEXEName));
    lstrcpyn(m_GameServiceAttrib.szServerDLLName,TEXT("CheXuanServer.DLL"),CountArray(m_GameServiceAttrib.szServerDLLName));

    return;
}

//析构函数
CGameServiceManager::~CGameServiceManager(void)
{
}

//接口查询
VOID * CGameServiceManager:ueryInterface(const IID & Guid, DWORD dwQueryVer)
{
    QUERYINTERFACE(IGameServiceManager,Guid,dwQueryVer);
    QUERYINTERFACE(IGameServiceCustomRule,Guid,dwQueryVer);
    QUERYINTERFACE_IUNKNOWNEX(IGameServiceManager,Guid,dwQueryVer);
    return NULL;
}

//创建游戏桌
VOID * CGameServiceManager::CreateTableFrameSink(REFGUID Guid, DWORD dwQueryVer)
{
    //建立对象
    CTableFrameSink * pTableFrameSink=NULL;
    try
    {
        pTableFrameSink=new CTableFrameSink();
        if (pTableFrameSink==NULL) throw TEXT("创建失败");
        void * pObject=pTableFrameSink->QueryInterface(Guid,dwQueryVer);
        if (pObject==NULL) throw TEXT("接口查询失败");
        return pObject;
    }
    catch (...) {}

    //清理对象
    SafeDelete(pTableFrameSink);

    return NULL;
}

//创建数据
VOID * CGameServiceManager::CreateGameDataBaseEngineSink(REFGUID Guid, DWORD dwQueryVer)
{
    return NULL;
}

bool CGameServiceManager::GetServiceAttrib(tagGameServiceAttrib & GameServiceAttrib)
{
    //设置变量
    GameServiceAttrib=m_GameServiceAttrib;

    return true;
}


//参数修改
bool CGameServiceManager::RectifyParameter(tagGameServiceOption & GameServiceOption)
{
    //效验参数
    ASSERT(&GameServiceOption!=NULL);
    if (&GameServiceOption==NULL) return false;

    //单元积分
    GameServiceOption.lCellScore=__max(1L,GameServiceOption.lCellScore);

    //积分下限
    if (GameServiceOption.wServerType!=GAME_GENRE_SCORE)
    {
        GameServiceOption.lMinTableScore=__max(GameServiceOption.lCellScore*5L,GameServiceOption.lMinTableScore);
    }

    //输分限制(原来的积分上限)
    if (GameServiceOption.lRestrictScore!=0L)
    {
        GameServiceOption.lRestrictScore=__max(GameServiceOption.lRestrictScore,GameServiceOption.lMinTableScore);
    }

    //积分上限
    if (GameServiceOption.wServerType!=GAME_GENRE_SCORE)
    {
        if(GameServiceOption.lMaxEnterScore<=GameServiceOption.lMinTableScore)
            GameServiceOption.lMaxEnterScore=0L;
        else if(GameServiceOption.lRestrictScore>0)
            GameServiceOption.lMaxEnterScore=__min(GameServiceOption.lMaxEnterScore,GameServiceOption.lRestrictScore);
    }

    return true;
}

//获取配置
bool CGameServiceManager::SaveCustomRule(LPBYTE pcbCustomRule, WORD wCustonSize)
{

    return true;
}

//默认配置
bool CGameServiceManager:efaultCustomRule(LPBYTE pcbCustomRule, WORD wCustonSize)
{

    return true;
}

//创建窗口
HWND CGameServiceManager::CreateCustomRule(CWnd * pParentWnd, CRect rcCreate, LPBYTE pcbCustomRule, WORD wCustonSize)
{
    return NULL;
}

//////////////////////////////////////////////////////////////////////////////////

//建立对象函数
extern "C" __declspec(dllexport) VOID * CreateGameServiceManager(const GUID & Guid, DWORD dwInterfaceVer)
{
    static CGameServiceManager GameServiceManager;
    return GameServiceManager.QueryInterface(Guid,dwInterfaceVer);
}

//创建机器
VOID *  CGameServiceManager::CreateAndroidUserItemSink(REFGUID Guid, DWORD dwQueryVer)
{
    //try
    //{
    //    //创建组件
    //    if( m_AndroidServiceHelper.GetInterface() == NULL )
    //    {
    //        m_AndroidServiceHelper.SetModuleCreateInfo(TEXT("ZodiacBattleAndroid.dll"),TEXT("CreateAndroidService"));

    //        if( !m_AndroidServiceHelper.CreateInstance() ) throw 0;
    //    }

    //    //创建机器人
    //    VOID *pAndroidObject = m_AndroidServiceHelper->CreateAndroidUserItemSink(Guid,dwQueryVer);
    //    if( pAndroidObject == NULL ) throw TEXT("创建机器人失败");

    //    return pAndroidObject;
    //}
    //catch(...) {}

    return NULL;
}

//////////////////////////////////////////////////////////////////////////

下载地址.txt (84 Bytes, 下载次数: 0, 售价: 300 代码豆)



分享到:  QQ好友和群QQ好友和群
收藏收藏
回复

使用道具 举报

该用户从未签到

0

主题

2

帖子

2

积分

邀请会员

积分
2
5#
发表于 2023-10-16 15:40:14 | 只看该作者
朋友 方便留个联系方式吗?
回复 支持 反对

使用道具 举报

该用户从未签到

1

主题

2

帖子

7

积分

邀请会员

积分
7
地板
发表于 2023-7-19 18:11:56 | 只看该作者
大神,有意出售吗?可以的话私聊一下
回复 支持 反对

使用道具 举报

该用户从未签到

0

主题

2

帖子

2

积分

邀请会员

积分
2
板凳
发表于 2021-12-24 14:19:51 | 只看该作者
留个联系方式吧
回复 支持 反对

使用道具 举报

该用户从未签到

0

主题

2

帖子

2

积分

邀请会员

积分
2
沙发
发表于 2021-12-24 14:19:28 | 只看该作者
怎么卖的啊
回复 支持 反对

使用道具 举报

快速回复高级模式
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表