/// <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> public override void initListData() { system = new SystemPartData(); gfunc = new GFuncPartData(); func = gfunc; activity = new ActivityPartData(); grole = new GRolePartData(); role = grole; gscene = new GScenePartData(); scene = gscene; gcharacter = new GCharacterPartData(); character = gcharacter; social = new SocialPartData(); gbag = new GBagPartData(); bag = gbag; mail = new MailPartData(); quest = new QuestPartData(); guide = new GuidePartData(); gfriend = new GFriendPartData(); friend = gfriend; gunion = new GUnionPartData(); union = gunion; gteam = new GTeamPartData(); team = gteam; }
/// <summary> /// 复制(潜拷贝) /// </summary> protected override void toShadowCopy(BaseData data) { if (!(data is QuestPartData)) { return; } QuestPartData mData = (QuestPartData)data; this.clientTaskInstanceIDIndex = mData.clientTaskInstanceIDIndex; this.accepts = mData.accepts; this.completeLines = mData.completeLines; this.completeIDs = mData.completeIDs; this.completeQuestsDic = mData.completeQuestsDic; }
/// <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(); }
public override void setData(BaseData data) { base.setData(data); _d = (QuestPartData)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(); }
/// <summary> /// 是否数据一致 /// </summary> protected override bool toDataEquals(BaseData data) { QuestPartData mData = (QuestPartData)data; if (this.clientTaskInstanceIDIndex != mData.clientTaskInstanceIDIndex) { return(false); } if (mData.accepts != null) { if (this.accepts == null) { return(false); } if (this.accepts.size() != mData.accepts.size()) { return(false); } IntObjectMap <QuestData> acceptsR = mData.accepts; if (!this.accepts.isEmpty()) { int acceptsKFreeValue = this.accepts.getFreeValue(); int[] acceptsKKeys = this.accepts.getKeys(); QuestData[] acceptsVValues = this.accepts.getValues(); for (int acceptsKI = acceptsKKeys.Length - 1; acceptsKI >= 0; --acceptsKI) { int acceptsK = acceptsKKeys[acceptsKI]; if (acceptsK != acceptsKFreeValue) { QuestData acceptsV = acceptsVValues[acceptsKI]; QuestData acceptsU = acceptsR.get(acceptsK); if (acceptsU != null) { if (acceptsV == null) { return(false); } if (!acceptsV.dataEquals(acceptsU)) { return(false); } } else { if (acceptsV != null) { return(false); } } } } } } else { if (this.accepts != null) { return(false); } } if (mData.completeLines != null) { if (this.completeLines == null) { return(false); } if (this.completeLines.size() != mData.completeLines.size()) { return(false); } IntIntMap completeLinesR = mData.completeLines; if (!this.completeLines.isEmpty()) { int completeLinesKFreeValue = this.completeLines.getFreeValue(); int[] completeLinesKKeys = this.completeLines.getKeys(); int[] completeLinesVValues = this.completeLines.getValues(); for (int completeLinesKI = completeLinesKKeys.Length - 1; completeLinesKI >= 0; --completeLinesKI) { int completeLinesK = completeLinesKKeys[completeLinesKI]; if (completeLinesK != completeLinesKFreeValue) { int completeLinesV = completeLinesVValues[completeLinesKI]; int completeLinesU = completeLinesR.get(completeLinesK); if (completeLinesV != completeLinesU) { return(false); } } } } } else { if (this.completeLines != null) { return(false); } } if (mData.completeIDs != null) { if (this.completeIDs == null) { return(false); } if (this.completeIDs.size() != mData.completeIDs.size()) { return(false); } IntSet completeIDsR = mData.completeIDs; if (!this.completeIDs.isEmpty()) { int completeIDsVFreeValue = this.completeIDs.getFreeValue(); int[] completeIDsVKeys = this.completeIDs.getKeys(); for (int completeIDsVI = completeIDsVKeys.Length - 1; completeIDsVI >= 0; --completeIDsVI) { int completeIDsV = completeIDsVKeys[completeIDsVI]; if (completeIDsV != completeIDsVFreeValue) { if (!completeIDsR.contains(completeIDsV)) { return(false); } } } } } else { if (this.completeIDs != null) { return(false); } } if (mData.completeQuestsDic != null) { if (this.completeQuestsDic == null) { return(false); } if (this.completeQuestsDic.size() != mData.completeQuestsDic.size()) { return(false); } IntObjectMap <QuestCompleteData> completeQuestsDicR = mData.completeQuestsDic; if (!this.completeQuestsDic.isEmpty()) { int completeQuestsDicKFreeValue = this.completeQuestsDic.getFreeValue(); int[] completeQuestsDicKKeys = this.completeQuestsDic.getKeys(); QuestCompleteData[] completeQuestsDicVValues = this.completeQuestsDic.getValues(); for (int completeQuestsDicKI = completeQuestsDicKKeys.Length - 1; completeQuestsDicKI >= 0; --completeQuestsDicKI) { int completeQuestsDicK = completeQuestsDicKKeys[completeQuestsDicKI]; if (completeQuestsDicK != completeQuestsDicKFreeValue) { QuestCompleteData completeQuestsDicV = completeQuestsDicVValues[completeQuestsDicKI]; QuestCompleteData completeQuestsDicU = completeQuestsDicR.get(completeQuestsDicK); if (completeQuestsDicU != null) { if (completeQuestsDicV == null) { return(false); } if (!completeQuestsDicV.dataEquals(completeQuestsDicU)) { return(false); } } else { if (completeQuestsDicV != null) { return(false); } } } } } } else { if (this.completeQuestsDic != null) { return(false); } } return(true); }
/// <summary> /// 复制(深拷贝) /// </summary> protected override void toCopy(BaseData data) { if (!(data is QuestPartData)) { return; } QuestPartData mData = (QuestPartData)data; this.clientTaskInstanceIDIndex = mData.clientTaskInstanceIDIndex; if (mData.accepts != null) { if (this.accepts != null) { this.accepts.clear(); this.accepts.ensureCapacity(mData.accepts.size()); } else { this.accepts = new IntObjectMap <QuestData>(mData.accepts.size()); } IntObjectMap <QuestData> acceptsT = this.accepts; if (!mData.accepts.isEmpty()) { QuestData[] acceptsVValues = mData.accepts.getValues(); for (int acceptsVI = acceptsVValues.Length - 1; acceptsVI >= 0; --acceptsVI) { QuestData acceptsV = acceptsVValues[acceptsVI]; if (acceptsV != null) { QuestData acceptsU; if (acceptsV != null) { acceptsU = (QuestData)acceptsV.clone(); } else { acceptsU = null; nullObjError("acceptsU"); } acceptsT.put(acceptsU.id, acceptsU); } } } } else { this.accepts = null; nullObjError("accepts"); } if (mData.completeLines != null) { if (this.completeLines != null) { this.completeLines.clear(); this.completeLines.ensureCapacity(mData.completeLines.size()); } else { this.completeLines = new IntIntMap(mData.completeLines.size()); } IntIntMap completeLinesT = this.completeLines; if (!mData.completeLines.isEmpty()) { int completeLinesKFreeValue = mData.completeLines.getFreeValue(); int[] completeLinesKKeys = mData.completeLines.getKeys(); int[] completeLinesVValues = mData.completeLines.getValues(); for (int completeLinesKI = completeLinesKKeys.Length - 1; completeLinesKI >= 0; --completeLinesKI) { int completeLinesK = completeLinesKKeys[completeLinesKI]; if (completeLinesK != completeLinesKFreeValue) { int completeLinesV = completeLinesVValues[completeLinesKI]; int completeLinesW; int completeLinesU; completeLinesW = completeLinesK; completeLinesU = completeLinesV; completeLinesT.put(completeLinesW, completeLinesU); } } } } else { this.completeLines = null; nullObjError("completeLines"); } if (mData.completeIDs != null) { if (this.completeIDs != null) { this.completeIDs.clear(); this.completeIDs.ensureCapacity(mData.completeIDs.size()); } else { this.completeIDs = new IntSet(); } IntSet completeIDsT = this.completeIDs; if (!mData.completeIDs.isEmpty()) { int completeIDsVFreeValue = mData.completeIDs.getFreeValue(); int[] completeIDsVKeys = mData.completeIDs.getKeys(); for (int completeIDsVI = completeIDsVKeys.Length - 1; completeIDsVI >= 0; --completeIDsVI) { int completeIDsV = completeIDsVKeys[completeIDsVI]; if (completeIDsV != completeIDsVFreeValue) { int completeIDsU; completeIDsU = completeIDsV; completeIDsT.add(completeIDsU); } } } } else { this.completeIDs = null; nullObjError("completeIDs"); } if (mData.completeQuestsDic != null) { if (this.completeQuestsDic != null) { this.completeQuestsDic.clear(); this.completeQuestsDic.ensureCapacity(mData.completeQuestsDic.size()); } else { this.completeQuestsDic = new IntObjectMap <QuestCompleteData>(mData.completeQuestsDic.size()); } IntObjectMap <QuestCompleteData> completeQuestsDicT = this.completeQuestsDic; if (!mData.completeQuestsDic.isEmpty()) { QuestCompleteData[] completeQuestsDicVValues = mData.completeQuestsDic.getValues(); for (int completeQuestsDicVI = completeQuestsDicVValues.Length - 1; completeQuestsDicVI >= 0; --completeQuestsDicVI) { QuestCompleteData completeQuestsDicV = completeQuestsDicVValues[completeQuestsDicVI]; if (completeQuestsDicV != null) { QuestCompleteData completeQuestsDicU; if (completeQuestsDicV != null) { completeQuestsDicU = (QuestCompleteData)completeQuestsDicV.clone(); } else { completeQuestsDicU = null; nullObjError("completeQuestsDicU"); } completeQuestsDicT.put(completeQuestsDicU.id, completeQuestsDicU); } } } } else { this.completeQuestsDic = null; nullObjError("completeQuestsDic"); } }