/// <summary> /// 复制(潜拷贝) /// </summary> protected override void toShadowCopy(BaseData data) { if (!(data is PlayerListData)) { return; } PlayerListData mData = (PlayerListData)data; this.system = mData.system; this.func = mData.func; this.activity = mData.activity; this.role = mData.role; this.scene = mData.scene; this.character = mData.character; this.social = mData.social; this.bag = mData.bag; this.mail = mData.mail; this.quest = mData.quest; this.guide = mData.guide; this.friend = mData.friend; this.equip = mData.equip; this.team = mData.team; this.union = mData.union; this.achievement = mData.achievement; this.pet = mData.pet; }
/// <summary> /// 复制(潜拷贝) /// </summary> protected override void toShadowCopy(BaseData data) { if (!(data is FriendPartData)) { return; } FriendPartData mData = (FriendPartData)data; this.friends = mData.friends; this.blackList = mData.blackList; this.applyDic = mData.applyDic; }
/// <summary> /// 回池 /// </summary> protected override void toRelease(DataPool pool) { this.system = null; this.func = null; this.activity = null; this.role = null; this.scene = null; this.character = null; this.social = null; this.bag = null; this.mail = null; this.quest = null; this.guide = null; this.friend = null; this.equip = null; this.team = null; this.union = null; this.achievement = null; this.pet = null; }
/// <summary> /// 读取字节流(简版) /// </summary> protected override void toReadBytesSimple(BytesReadStream stream) { this.system = (SystemPartData)stream.readDataSimpleNotNull(); this.func = (FuncPartData)stream.readDataSimpleNotNull(); this.activity = (ActivityPartData)stream.readDataSimpleNotNull(); this.role = (RolePartData)stream.readDataSimpleNotNull(); this.scene = (ScenePartData)stream.readDataSimpleNotNull(); this.character = (CharacterPartData)stream.readDataSimpleNotNull(); this.social = (SocialPartData)stream.readDataSimpleNotNull(); this.bag = (BagPartData)stream.readDataSimpleNotNull(); this.mail = (MailPartData)stream.readDataSimpleNotNull(); this.quest = (QuestPartData)stream.readDataSimpleNotNull(); this.guide = (GuidePartData)stream.readDataSimpleNotNull(); this.friend = (FriendPartData)stream.readDataSimpleNotNull(); this.equip = (EquipPartData)stream.readDataSimpleNotNull(); this.team = (TeamPartData)stream.readDataSimpleNotNull(); this.union = (UnionPartData)stream.readDataSimpleNotNull(); this.achievement = (AchievementPartData)stream.readDataSimpleNotNull(); this.pet = (PetPartData)stream.readDataSimpleNotNull(); }
/// <summary> /// 是否数据一致 /// </summary> protected override bool toDataEquals(BaseData data) { FriendPartData mData = (FriendPartData)data; if (mData.friends != null) { if (this.friends == null) { return(false); } if (this.friends.size() != mData.friends.size()) { return(false); } LongObjectMap <FriendData> friendsR = mData.friends; if (!this.friends.isEmpty()) { long friendsKFreeValue = this.friends.getFreeValue(); long[] friendsKKeys = this.friends.getKeys(); FriendData[] friendsVValues = this.friends.getValues(); for (int friendsKI = friendsKKeys.Length - 1; friendsKI >= 0; --friendsKI) { long friendsK = friendsKKeys[friendsKI]; if (friendsK != friendsKFreeValue) { FriendData friendsV = friendsVValues[friendsKI]; FriendData friendsU = friendsR.get(friendsK); if (friendsU != null) { if (friendsV == null) { return(false); } if (!friendsV.dataEquals(friendsU)) { return(false); } } else { if (friendsV != null) { return(false); } } } } } } else { if (this.friends != null) { return(false); } } if (mData.blackList != null) { if (this.blackList == null) { return(false); } if (this.blackList.size() != mData.blackList.size()) { return(false); } LongObjectMap <ContactData> blackListR = mData.blackList; if (!this.blackList.isEmpty()) { long blackListKFreeValue = this.blackList.getFreeValue(); long[] blackListKKeys = this.blackList.getKeys(); ContactData[] blackListVValues = this.blackList.getValues(); for (int blackListKI = blackListKKeys.Length - 1; blackListKI >= 0; --blackListKI) { long blackListK = blackListKKeys[blackListKI]; if (blackListK != blackListKFreeValue) { ContactData blackListV = blackListVValues[blackListKI]; ContactData blackListU = blackListR.get(blackListK); if (blackListU != null) { if (blackListV == null) { return(false); } if (!blackListV.dataEquals(blackListU)) { return(false); } } else { if (blackListV != null) { return(false); } } } } } } else { if (this.blackList != null) { return(false); } } if (mData.applyDic != null) { if (this.applyDic == null) { return(false); } if (this.applyDic.size() != mData.applyDic.size()) { return(false); } LongObjectMap <ApplyAddFriendData> applyDicR = mData.applyDic; if (!this.applyDic.isEmpty()) { long applyDicKFreeValue = this.applyDic.getFreeValue(); long[] applyDicKKeys = this.applyDic.getKeys(); ApplyAddFriendData[] applyDicVValues = this.applyDic.getValues(); for (int applyDicKI = applyDicKKeys.Length - 1; applyDicKI >= 0; --applyDicKI) { long applyDicK = applyDicKKeys[applyDicKI]; if (applyDicK != applyDicKFreeValue) { ApplyAddFriendData applyDicV = applyDicVValues[applyDicKI]; ApplyAddFriendData applyDicU = applyDicR.get(applyDicK); if (applyDicU != null) { if (applyDicV == null) { return(false); } if (!applyDicV.dataEquals(applyDicU)) { return(false); } } else { if (applyDicV != null) { return(false); } } } } } } else { if (this.applyDic != null) { return(false); } } return(true); }
/// <summary> /// 复制(深拷贝) /// </summary> protected override void toCopy(BaseData data) { if (!(data is FriendPartData)) { return; } FriendPartData mData = (FriendPartData)data; if (mData.friends != null) { if (this.friends != null) { this.friends.clear(); this.friends.ensureCapacity(mData.friends.size()); } else { this.friends = new LongObjectMap <FriendData>(mData.friends.size()); } LongObjectMap <FriendData> friendsT = this.friends; if (!mData.friends.isEmpty()) { FriendData[] friendsVValues = mData.friends.getValues(); for (int friendsVI = friendsVValues.Length - 1; friendsVI >= 0; --friendsVI) { FriendData friendsV = friendsVValues[friendsVI]; if (friendsV != null) { FriendData friendsU; if (friendsV != null) { friendsU = (FriendData)friendsV.clone(); } else { friendsU = null; nullObjError("friendsU"); } friendsT.put(friendsU.playerID, friendsU); } } } } else { this.friends = null; nullObjError("friends"); } if (mData.blackList != null) { if (this.blackList != null) { this.blackList.clear(); this.blackList.ensureCapacity(mData.blackList.size()); } else { this.blackList = new LongObjectMap <ContactData>(mData.blackList.size()); } LongObjectMap <ContactData> blackListT = this.blackList; if (!mData.blackList.isEmpty()) { ContactData[] blackListVValues = mData.blackList.getValues(); for (int blackListVI = blackListVValues.Length - 1; blackListVI >= 0; --blackListVI) { ContactData blackListV = blackListVValues[blackListVI]; if (blackListV != null) { ContactData blackListU; if (blackListV != null) { blackListU = (ContactData)blackListV.clone(); } else { blackListU = null; nullObjError("blackListU"); } blackListT.put(blackListU.playerID, blackListU); } } } } else { this.blackList = null; nullObjError("blackList"); } if (mData.applyDic != null) { if (this.applyDic != null) { this.applyDic.clear(); this.applyDic.ensureCapacity(mData.applyDic.size()); } else { this.applyDic = new LongObjectMap <ApplyAddFriendData>(mData.applyDic.size()); } LongObjectMap <ApplyAddFriendData> applyDicT = this.applyDic; if (!mData.applyDic.isEmpty()) { ApplyAddFriendData[] applyDicVValues = mData.applyDic.getValues(); for (int applyDicVI = applyDicVValues.Length - 1; applyDicVI >= 0; --applyDicVI) { ApplyAddFriendData applyDicV = applyDicVValues[applyDicVI]; if (applyDicV != null) { ApplyAddFriendData applyDicU; if (applyDicV != null) { applyDicU = (ApplyAddFriendData)applyDicV.clone(); } else { applyDicU = null; nullObjError("applyDicU"); } applyDicT.put(applyDicU.playerID, applyDicU); } } } } else { this.applyDic = null; nullObjError("applyDic"); } }
public override void setData(BaseData data) { base.setData(data); _d = (FriendPartData)data; }
/// <summary> /// 复制(深拷贝) /// </summary> protected override void toCopy(BaseData data) { if (!(data is PlayerListData)) { return; } PlayerListData mData = (PlayerListData)data; if (mData.system != null) { this.system = (SystemPartData)mData.system.clone(); } else { this.system = null; nullObjError("system"); } if (mData.func != null) { this.func = (FuncPartData)mData.func.clone(); } else { this.func = null; nullObjError("func"); } if (mData.activity != null) { this.activity = (ActivityPartData)mData.activity.clone(); } else { this.activity = null; nullObjError("activity"); } if (mData.role != null) { this.role = (RolePartData)mData.role.clone(); } else { this.role = null; nullObjError("role"); } if (mData.scene != null) { this.scene = (ScenePartData)mData.scene.clone(); } else { this.scene = null; nullObjError("scene"); } if (mData.character != null) { this.character = (CharacterPartData)mData.character.clone(); } else { this.character = null; nullObjError("character"); } if (mData.social != null) { this.social = (SocialPartData)mData.social.clone(); } else { this.social = null; nullObjError("social"); } if (mData.bag != null) { this.bag = (BagPartData)mData.bag.clone(); } else { this.bag = null; nullObjError("bag"); } if (mData.mail != null) { this.mail = (MailPartData)mData.mail.clone(); } else { this.mail = null; nullObjError("mail"); } if (mData.quest != null) { this.quest = (QuestPartData)mData.quest.clone(); } else { this.quest = null; nullObjError("quest"); } if (mData.guide != null) { this.guide = (GuidePartData)mData.guide.clone(); } else { this.guide = null; nullObjError("guide"); } if (mData.friend != null) { this.friend = (FriendPartData)mData.friend.clone(); } else { this.friend = null; nullObjError("friend"); } if (mData.equip != null) { this.equip = (EquipPartData)mData.equip.clone(); } else { this.equip = null; nullObjError("equip"); } if (mData.team != null) { this.team = (TeamPartData)mData.team.clone(); } else { this.team = null; nullObjError("team"); } if (mData.union != null) { this.union = (UnionPartData)mData.union.clone(); } else { this.union = null; nullObjError("union"); } if (mData.achievement != null) { this.achievement = (AchievementPartData)mData.achievement.clone(); } else { this.achievement = null; nullObjError("achievement"); } if (mData.pet != null) { this.pet = (PetPartData)mData.pet.clone(); } else { this.pet = null; nullObjError("pet"); } }
/// <summary> /// 读取字节流(完整版) /// </summary> protected override void toReadBytesFull(BytesReadStream stream) { stream.startReadObj(); BaseData systemT = stream.readDataFullNotNull(); if (systemT != null) { if (systemT is SystemPartData) { this.system = (SystemPartData)systemT; } else { this.system = new SystemPartData(); if (!(systemT.GetType().IsAssignableFrom(typeof(SystemPartData)))) { stream.throwTypeReadError(typeof(SystemPartData), systemT.GetType()); } this.system.shadowCopy(systemT); } } else { this.system = null; } BaseData funcT = stream.readDataFullNotNull(); if (funcT != null) { if (funcT is FuncPartData) { this.func = (FuncPartData)funcT; } else { this.func = new FuncPartData(); if (!(funcT.GetType().IsAssignableFrom(typeof(FuncPartData)))) { stream.throwTypeReadError(typeof(FuncPartData), funcT.GetType()); } this.func.shadowCopy(funcT); } } else { this.func = null; } BaseData activityT = stream.readDataFullNotNull(); if (activityT != null) { if (activityT is ActivityPartData) { this.activity = (ActivityPartData)activityT; } else { this.activity = new ActivityPartData(); if (!(activityT.GetType().IsAssignableFrom(typeof(ActivityPartData)))) { stream.throwTypeReadError(typeof(ActivityPartData), activityT.GetType()); } this.activity.shadowCopy(activityT); } } else { this.activity = null; } BaseData roleT = stream.readDataFullNotNull(); if (roleT != null) { if (roleT is RolePartData) { this.role = (RolePartData)roleT; } else { this.role = new RolePartData(); if (!(roleT.GetType().IsAssignableFrom(typeof(RolePartData)))) { stream.throwTypeReadError(typeof(RolePartData), roleT.GetType()); } this.role.shadowCopy(roleT); } } else { this.role = null; } BaseData sceneT = stream.readDataFullNotNull(); if (sceneT != null) { if (sceneT is ScenePartData) { this.scene = (ScenePartData)sceneT; } else { this.scene = new ScenePartData(); if (!(sceneT.GetType().IsAssignableFrom(typeof(ScenePartData)))) { stream.throwTypeReadError(typeof(ScenePartData), sceneT.GetType()); } this.scene.shadowCopy(sceneT); } } else { this.scene = null; } BaseData characterT = stream.readDataFullNotNull(); if (characterT != null) { if (characterT is CharacterPartData) { this.character = (CharacterPartData)characterT; } else { this.character = new CharacterPartData(); if (!(characterT.GetType().IsAssignableFrom(typeof(CharacterPartData)))) { stream.throwTypeReadError(typeof(CharacterPartData), characterT.GetType()); } this.character.shadowCopy(characterT); } } else { this.character = null; } BaseData socialT = stream.readDataFullNotNull(); if (socialT != null) { if (socialT is SocialPartData) { this.social = (SocialPartData)socialT; } else { this.social = new SocialPartData(); if (!(socialT.GetType().IsAssignableFrom(typeof(SocialPartData)))) { stream.throwTypeReadError(typeof(SocialPartData), socialT.GetType()); } this.social.shadowCopy(socialT); } } else { this.social = null; } BaseData bagT = stream.readDataFullNotNull(); if (bagT != null) { if (bagT is BagPartData) { this.bag = (BagPartData)bagT; } else { this.bag = new BagPartData(); if (!(bagT.GetType().IsAssignableFrom(typeof(BagPartData)))) { stream.throwTypeReadError(typeof(BagPartData), bagT.GetType()); } this.bag.shadowCopy(bagT); } } else { this.bag = null; } BaseData mailT = stream.readDataFullNotNull(); if (mailT != null) { if (mailT is MailPartData) { this.mail = (MailPartData)mailT; } else { this.mail = new MailPartData(); if (!(mailT.GetType().IsAssignableFrom(typeof(MailPartData)))) { stream.throwTypeReadError(typeof(MailPartData), mailT.GetType()); } this.mail.shadowCopy(mailT); } } else { this.mail = null; } BaseData questT = stream.readDataFullNotNull(); if (questT != null) { if (questT is QuestPartData) { this.quest = (QuestPartData)questT; } else { this.quest = new QuestPartData(); if (!(questT.GetType().IsAssignableFrom(typeof(QuestPartData)))) { stream.throwTypeReadError(typeof(QuestPartData), questT.GetType()); } this.quest.shadowCopy(questT); } } else { this.quest = null; } BaseData guideT = stream.readDataFullNotNull(); if (guideT != null) { if (guideT is GuidePartData) { this.guide = (GuidePartData)guideT; } else { this.guide = new GuidePartData(); if (!(guideT.GetType().IsAssignableFrom(typeof(GuidePartData)))) { stream.throwTypeReadError(typeof(GuidePartData), guideT.GetType()); } this.guide.shadowCopy(guideT); } } else { this.guide = null; } BaseData friendT = stream.readDataFullNotNull(); if (friendT != null) { if (friendT is FriendPartData) { this.friend = (FriendPartData)friendT; } else { this.friend = new FriendPartData(); if (!(friendT.GetType().IsAssignableFrom(typeof(FriendPartData)))) { stream.throwTypeReadError(typeof(FriendPartData), friendT.GetType()); } this.friend.shadowCopy(friendT); } } else { this.friend = null; } BaseData equipT = stream.readDataFullNotNull(); if (equipT != null) { if (equipT is EquipPartData) { this.equip = (EquipPartData)equipT; } else { this.equip = new EquipPartData(); if (!(equipT.GetType().IsAssignableFrom(typeof(EquipPartData)))) { stream.throwTypeReadError(typeof(EquipPartData), equipT.GetType()); } this.equip.shadowCopy(equipT); } } else { this.equip = null; } BaseData teamT = stream.readDataFullNotNull(); if (teamT != null) { if (teamT is TeamPartData) { this.team = (TeamPartData)teamT; } else { this.team = new TeamPartData(); if (!(teamT.GetType().IsAssignableFrom(typeof(TeamPartData)))) { stream.throwTypeReadError(typeof(TeamPartData), teamT.GetType()); } this.team.shadowCopy(teamT); } } else { this.team = null; } BaseData unionT = stream.readDataFullNotNull(); if (unionT != null) { if (unionT is UnionPartData) { this.union = (UnionPartData)unionT; } else { this.union = new UnionPartData(); if (!(unionT.GetType().IsAssignableFrom(typeof(UnionPartData)))) { stream.throwTypeReadError(typeof(UnionPartData), unionT.GetType()); } this.union.shadowCopy(unionT); } } else { this.union = null; } BaseData achievementT = stream.readDataFullNotNull(); if (achievementT != null) { if (achievementT is AchievementPartData) { this.achievement = (AchievementPartData)achievementT; } else { this.achievement = new AchievementPartData(); if (!(achievementT.GetType().IsAssignableFrom(typeof(AchievementPartData)))) { stream.throwTypeReadError(typeof(AchievementPartData), achievementT.GetType()); } this.achievement.shadowCopy(achievementT); } } else { this.achievement = null; } BaseData petT = stream.readDataFullNotNull(); if (petT != null) { if (petT is PetPartData) { this.pet = (PetPartData)petT; } else { this.pet = new PetPartData(); if (!(petT.GetType().IsAssignableFrom(typeof(PetPartData)))) { stream.throwTypeReadError(typeof(PetPartData), petT.GetType()); } this.pet.shadowCopy(petT); } } else { this.pet = null; } stream.endReadObj(); }