Files
mir_server/server/LogicServer/entitysystem/LootSystem.h

50 lines
1.5 KiB
C
Raw Normal View History

2025-01-09 17:45:40 +08:00
#pragma once
/***************************************************************/
/*
/* 拾取子系统
/* 玩家的是拾取的管理
/* 管理玩家身上的掉落包裹,处理客户端的各种数据包
/***************************************************************/
//class DROPBAG;
enum enLootSelectStyle
{
lsLootStyleCancel =1, //放弃拾取
lsLootStyleDemand =2, //需求
lsLootStyleGreed =3, //贪婪
};
class CLootSystem:
public CEntitySubSystem<enLootSystemID,CLootSystem,CActor>
{
public:
typedef CEntitySubSystem<enLootSystemID,CLootSystem,CActor> Inherid;
//自由拾取的时间(毫秒数),一个队伍物品,如果所属人没有拾取,那么剩下的时间将变为自由拾取状态
static const unsigned int FreeLootTime =60000; //暂定为1分钟
/*
*
*nCmd 0
*packet
*/
virtual void ProcessNetData(INT_PTR nCmd,CDataPacketReader &packet );
/*
* Comments:
* Param CTeam * pTeam:
* Param CActor * pUser:
* Param CDropBag * pBag:
* Param unsigned int nBagID:ID
* @Return bool: truefalse
*/
static bool CanLootMoneyOrItem(CTeam * pTeam,CActor * pUser,CDropBag * pBag,unsigned int nBagID);
private:
//拾取一个新的道具,新版本的
bool LootDropItem(unsigned int nItemHandle);
bool PetLootDropItem(unsigned int nItemHandle);
};