164 lines
4.5 KiB
C++
164 lines
4.5 KiB
C++
#pragma once
|
||
|
||
/************************************************************************/
|
||
/*
|
||
/* 购买商城物品子系统
|
||
/*
|
||
/************************************************************************/
|
||
|
||
class CGameStoreBuySystem :
|
||
public CEntitySubSystem<enStoreSystemID, CGameStoreBuySystem, CActor>
|
||
{
|
||
public:
|
||
typedef CEntitySubSystem<enStoreSystemID, CGameStoreBuySystem, CActor> Inherited;
|
||
|
||
enum eBuyItemOpt
|
||
{
|
||
ebioUseSelf = 1, //自己用
|
||
ebioGiveFrd = 2, //赠送给好友
|
||
};
|
||
|
||
public:
|
||
CGameStoreBuySystem()
|
||
{
|
||
//m_accountYuanbao = 0;
|
||
}
|
||
/*
|
||
*处理网络数据包
|
||
*nCmd ,分派到该系统里命令,从0开始
|
||
*packet,网络数据
|
||
*/
|
||
virtual void ProcessNetData(INT_PTR nCmd,CDataPacketReader &packet);
|
||
|
||
//virtual VOID OnDbRetData(INT_PTR nCmd,INT_PTR nErrorCode,CDataPacketReader &reader );
|
||
virtual void OnEnterGame();
|
||
//商城列表信息
|
||
void SendShopLists(CDataPacketReader& packet);
|
||
//购买商品
|
||
void BuyShopItem(CDataPacketReader& packet);
|
||
|
||
void ShowNpcShop(BYTE nType, BYTE ntab);
|
||
|
||
// /*
|
||
// * Comments: 同步元宝数量到客户端
|
||
// * Param unsigned int count:
|
||
// * @Return void:
|
||
// */
|
||
// void SyncClientYuanBaoCount(unsigned int count);
|
||
|
||
// /*
|
||
// * Comments:查询元宝数量
|
||
// * @Return void:
|
||
// */
|
||
// void ClientQueryYuanBaoCount();
|
||
|
||
// /*
|
||
// * Comments:提取元宝
|
||
// * Param unsigned int count:
|
||
// * @Return void:
|
||
// */
|
||
// void ClientWithdrawYuanBaoCount(unsigned int count);
|
||
|
||
|
||
// /*
|
||
// * Comments: 接收到AM消息
|
||
// * Param const CAMClient::AMOPData & data:
|
||
// * @Return void:
|
||
// */
|
||
// void OnAcceptAMMsg(const CAMClient::AMOPData &data);
|
||
|
||
// //广播一件商品的数目发生改变
|
||
// static void BroadMerchanCountChange(int nMerchanID,int nCount,int nLabelId);
|
||
|
||
// //下发玩家购买商品的数量
|
||
// void SendActorMerchanCount();
|
||
|
||
// //广播刷新了一个分类的数据
|
||
// static void BroadLabelRefresh(int nLabelId);
|
||
|
||
// //更新个人今天消费元宝到排行版 nValue 本次消费的元宝数
|
||
// void AddConsumeToRank(int nValue);
|
||
|
||
// //下发领取奖励的提示
|
||
// void SendGetConsumeAwardsTips();
|
||
|
||
// /*
|
||
// * Comments:赠送商城物品
|
||
// * Param CDataPacketReader & packet:数据包
|
||
// * @Return void:
|
||
// */
|
||
// void GiveStoreItem(CDataPacketReader &packet);
|
||
|
||
|
||
// /*
|
||
// * Comments:查询玩家是否存在的接口
|
||
// * Param const char * sName:
|
||
// * Param int nId:
|
||
// * Param int nCount:
|
||
// * @Return void:
|
||
// */
|
||
// void DoQueryActorExists(const char * sName, int nId = 0, int nCount=0);
|
||
// private:
|
||
// //客户端购买商城物品
|
||
// void ClientBuyStoreItem(CDataPacketReader &packet);
|
||
|
||
// /*
|
||
// * Comments:处理购买商城物品
|
||
// * Param BYTE nOptType:操作类型,自己购买,赠送
|
||
// * Param int nId:商城id
|
||
// * Param int nBuyCount:数量
|
||
// * Param CActor * pAcceptPlayer:如果是赠送,接受赠送玩家指针
|
||
// * Param BYTE bUse:是否立即使用
|
||
// * @Return bool:处理成功返回true
|
||
// */
|
||
// bool OnBuyStoreItem(BYTE nOptType, int nId, int nBuyCount, unsigned int nAcceptId = 0, const char * sAccepName = NULL, BYTE bUse = 0);
|
||
|
||
|
||
// //检查商品是否允许购买
|
||
// bool CheckMysticalShopBuy(int nId, int nBuyCount);
|
||
|
||
// //神秘商店商品购买成功
|
||
// void OnMysticalShopBuy(int nId, int nItemId, int nBuyCount, int nItemCount, int nMoneyType, int nMoneyNum);
|
||
|
||
// //客户端查询商城销量排行
|
||
// void ClientQueryStoreSaleRank();
|
||
|
||
// //在购买的时候是否公告
|
||
// bool IsBroadCastBuy();
|
||
|
||
|
||
|
||
// //改变全服播报的状态
|
||
// void ClientChangeBroadcastFlag(CDataPacketReader &packet);
|
||
|
||
// //获取动态商城的数据
|
||
// void ClientGetDynamicStoreData(CDataPacketReader &packet);
|
||
|
||
// //返回元宝消耗排行
|
||
// void SendYbConsumeRanking(CDataPacketReader &packet);
|
||
|
||
// //一键购买
|
||
// void OneKeyBuyItems(CDataPacketReader & packet);
|
||
|
||
// /*
|
||
// * Comments:处理购买动态添加物品
|
||
// * Param CGameStore::PMERCHANDISE pMerchandise:商城物品对象指针
|
||
// * Param int nId:id
|
||
// * Param int nBuyCount:数量
|
||
// * @Return bool:成功返回true
|
||
// */
|
||
// bool IsBuyDynaAddItem( CGameStore::PMERCHANDISE pMerchandise, int nId, int nBuyCount );
|
||
|
||
// //获取玩家已购买某个限购商品的数量
|
||
// int BuySingleDynaItemCount(int nId);
|
||
|
||
// /*
|
||
// * Comments:查询是否存在该用户名
|
||
// * Param CDataPacketReader & reader:
|
||
// * @Return void:
|
||
// */
|
||
// void OnQueryActorExists(CDataPacketReader &reader);
|
||
// private:
|
||
// int m_accountYuanbao;//账号里可提取元宝(充账号的平台才有)
|
||
};
|