/// <summary> /// 读取字节流(完整版) /// </summary> protected override void toReadBytesFull(BytesReadStream stream) { base.toReadBytesFull(stream); stream.startReadObj(); this.memberID = stream.readLong(); BaseData dataT = stream.readDataFullNotNull(); if (dataT != null) { if (dataT is RoleGroupMemberChangeData) { this.data = (RoleGroupMemberChangeData)dataT; } else { this.data = new RoleGroupMemberChangeData(); if (!(dataT.GetType().IsAssignableFrom(typeof(RoleGroupMemberChangeData)))) { stream.throwTypeReadError(typeof(RoleGroupMemberChangeData), dataT.GetType()); } this.data.shadowCopy(dataT); } } else { this.data = null; } stream.endReadObj(); }
/// <summary> /// 是否数据一致 /// </summary> protected override bool toDataEquals(BaseData data) { RoleGroupMemberChangeData mData = (RoleGroupMemberChangeData)data; if (this.type != mData.type) { return(false); } if (this.arg0 != mData.arg0) { return(false); } if (this.arg1 != mData.arg1) { return(false); } if (this.arg2 != mData.arg2) { return(false); } return(true); }
/// <summary> /// 回池 /// </summary> protected override void toRelease(DataPool pool) { base.toRelease(pool); this.memberID = 0L; this.data = null; }
/// <summary> /// 读取字节流(简版) /// </summary> protected override void toReadBytesSimple(BytesReadStream stream) { base.toReadBytesSimple(stream); this.memberID = stream.readLong(); this.data = (RoleGroupMemberChangeData)stream.readDataSimpleNotNull(); }
/** 执行改变 */ protected void doRoleGroupChange(PlayerRoleGroupMemberData mData, RoleGroupMemberChangeData data) { switch (data.type) { case RoleGroupMemberChangeType.Title: { doSetTitle(mData, data.arg0, false); } break; } }
/// <summary> /// 复制(潜拷贝) /// </summary> protected override void toShadowCopy(BaseData data) { if (!(data is RoleGroupMemberChangeData)) { return; } RoleGroupMemberChangeData mData = (RoleGroupMemberChangeData)data; this.type = mData.type; this.arg0 = mData.arg0; this.arg1 = mData.arg1; this.arg2 = mData.arg2; }
/** 玩家群变更 */ public void onRoleGroupMemberChange(long memberID, RoleGroupMemberChangeData data) { PlayerRoleGroupMemberData member = getMember(memberID); if (member != null) { doRoleGroupChange(member, data); } evt.groupID = groupID; evt.targetID = memberID; evt.memberChangeData = data; me.dispatch(GameEventType.ChangeRoleGroupMemberData, evt); }