AgpdParty
3. 枚举类型
(1) 数据类型
typedef enum _eAGPMPARTY_DATA_TYPE {
AGPMPARTY_DATA_TYPE_PARTY = 0,
} eAGPMPARTY_DATA_TYPE;
目前只定义了 Party 数据类型。
(2) 经验分配类型
typedef enum _AgpmPartyCalcExpType {
AGPMPARTY_EXP_TYPE_BY_DAMAGE = 0,
AGPMPARTY_EXP_TYPE_BY_LEVEL,
} AgpmPartyCalcExpType;
组队经验分配规则:
BY_DAMAGE:按伤害分配经验。
BY_LEVEL:按角色等级分配经验。
(3) 道具分配方式
typedef enum _AgpmPartyOptionDivisionItem {
AGPMPARTY_DIVISION_ITEM_SEQUENCE = 0, // 按顺序分配
AGPMPARTY_DIVISION_ITEM_FREE, // 自由分配
AGPMPARTY_DIVISION_ITEM_DAMAGE // 按伤害分配
} AgpmPartyOptionDivisionItem;
组队战利品分配策略:
顺序分配、自由分配、伤害分配。
4. AgpdParty 类(数据类)
成员变量
INT16 m_nMaxMember; // 队伍最大人数
INT16 m_nCurrentMember; // 当前队员数
记录队伍人数。
ApSafeArray<INT32, AGPMPARTY_MAX_PARTY_MEMBER> m_lMemberListID;
成员 ID 列表(安全数组封装)。
原注释的旧写法是普通数组或指针。
INT32 m_lHighestMemberLevel;
INT32 m_lLowerMemberLevel;
INT32 m_lTotalMemberLevel;
队伍成员等级信息:
最高等级
最低等级
总等级
INT32 m_lHighestMemberUnionRank;
队伍中最高联盟等级。
UINT32 m_ulRemoveTimeMSec;
队伍移除时间(毫秒)。
ApSafeArray<BOOL, AGPMPARTY_MAX_PARTY_MEMBER> m_bIsInEffectArea;
队员是否在经验/BUFF生效区域。
AgpmPartyCalcExpType m_eCalcExpType;
经验分配方式。
INT32 m_lCurrentGetItemCID;
INT32 m_lFinishGetItemCID;
AgpmPartyOptionDivisionItem m_eDivisionItem;
战利品分配相关:
当前领取者 ID
已领取者 ID
分配方式