/// <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 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 SocialPartData)) { return; } SocialPartData mData = (SocialPartData)data; this.singleChannels = mData.singleChannels; this.multiChannels = mData.multiChannels; this.chatSendIndex = mData.chatSendIndex; }
/// <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 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) { SocialPartData mData = (SocialPartData)data; if (mData.singleChannels != null) { if (this.singleChannels == null) { return(false); } if (this.singleChannels.size() != mData.singleChannels.size()) { return(false); } IntObjectMap <ChatChannelData> singleChannelsR = mData.singleChannels; if (!this.singleChannels.isEmpty()) { int singleChannelsKFreeValue = this.singleChannels.getFreeValue(); int[] singleChannelsKKeys = this.singleChannels.getKeys(); ChatChannelData[] singleChannelsVValues = this.singleChannels.getValues(); for (int singleChannelsKI = singleChannelsKKeys.Length - 1; singleChannelsKI >= 0; --singleChannelsKI) { int singleChannelsK = singleChannelsKKeys[singleChannelsKI]; if (singleChannelsK != singleChannelsKFreeValue) { ChatChannelData singleChannelsV = singleChannelsVValues[singleChannelsKI]; ChatChannelData singleChannelsU = singleChannelsR.get(singleChannelsK); if (singleChannelsU != null) { if (singleChannelsV == null) { return(false); } if (!singleChannelsV.dataEquals(singleChannelsU)) { return(false); } } else { if (singleChannelsV != null) { return(false); } } } } } } else { if (this.singleChannels != null) { return(false); } } if (mData.multiChannels != null) { if (this.multiChannels == null) { return(false); } if (this.multiChannels.size() != mData.multiChannels.size()) { return(false); } IntObjectMap <LongObjectMap <ChatChannelData> > multiChannelsR = mData.multiChannels; if (!this.multiChannels.isEmpty()) { int multiChannelsKFreeValue = this.multiChannels.getFreeValue(); int[] multiChannelsKKeys = this.multiChannels.getKeys(); LongObjectMap <ChatChannelData>[] multiChannelsVValues = this.multiChannels.getValues(); for (int multiChannelsKI = multiChannelsKKeys.Length - 1; multiChannelsKI >= 0; --multiChannelsKI) { int multiChannelsK = multiChannelsKKeys[multiChannelsKI]; if (multiChannelsK != multiChannelsKFreeValue) { LongObjectMap <ChatChannelData> multiChannelsV = multiChannelsVValues[multiChannelsKI]; LongObjectMap <ChatChannelData> multiChannelsU = multiChannelsR.get(multiChannelsK); if (multiChannelsU != null) { if (multiChannelsV == null) { return(false); } if (multiChannelsV.size() != multiChannelsU.size()) { return(false); } LongObjectMap <ChatChannelData> multiChannelsVR = multiChannelsU; if (!multiChannelsV.isEmpty()) { long multiChannelsVKFreeValue = multiChannelsV.getFreeValue(); long[] multiChannelsVKKeys = multiChannelsV.getKeys(); ChatChannelData[] multiChannelsVVValues = multiChannelsV.getValues(); for (int multiChannelsVKI = multiChannelsVKKeys.Length - 1; multiChannelsVKI >= 0; --multiChannelsVKI) { long multiChannelsVK = multiChannelsVKKeys[multiChannelsVKI]; if (multiChannelsVK != multiChannelsVKFreeValue) { ChatChannelData multiChannelsVV = multiChannelsVVValues[multiChannelsVKI]; ChatChannelData multiChannelsVU = multiChannelsVR.get(multiChannelsVK); if (multiChannelsVU != null) { if (multiChannelsVV == null) { return(false); } if (!multiChannelsVV.dataEquals(multiChannelsVU)) { return(false); } } else { if (multiChannelsVV != null) { return(false); } } } } } } else { if (multiChannelsV != null) { return(false); } } } } } } else { if (this.multiChannels != null) { return(false); } } if (this.chatSendIndex != mData.chatSendIndex) { return(false); } return(true); }
/// <summary> /// 复制(深拷贝) /// </summary> protected override void toCopy(BaseData data) { if (!(data is SocialPartData)) { return; } SocialPartData mData = (SocialPartData)data; if (mData.singleChannels != null) { if (this.singleChannels != null) { this.singleChannels.clear(); this.singleChannels.ensureCapacity(mData.singleChannels.size()); } else { this.singleChannels = new IntObjectMap <ChatChannelData>(mData.singleChannels.size()); } IntObjectMap <ChatChannelData> singleChannelsT = this.singleChannels; if (!mData.singleChannels.isEmpty()) { int singleChannelsKFreeValue = mData.singleChannels.getFreeValue(); int[] singleChannelsKKeys = mData.singleChannels.getKeys(); ChatChannelData[] singleChannelsVValues = mData.singleChannels.getValues(); for (int singleChannelsKI = singleChannelsKKeys.Length - 1; singleChannelsKI >= 0; --singleChannelsKI) { int singleChannelsK = singleChannelsKKeys[singleChannelsKI]; if (singleChannelsK != singleChannelsKFreeValue) { ChatChannelData singleChannelsV = singleChannelsVValues[singleChannelsKI]; int singleChannelsW; ChatChannelData singleChannelsU; singleChannelsW = singleChannelsK; if (singleChannelsV != null) { singleChannelsU = (ChatChannelData)singleChannelsV.clone(); } else { singleChannelsU = null; nullObjError("singleChannelsU"); } singleChannelsT.put(singleChannelsW, singleChannelsU); } } } } else { this.singleChannels = null; nullObjError("singleChannels"); } if (mData.multiChannels != null) { if (this.multiChannels != null) { this.multiChannels.clear(); this.multiChannels.ensureCapacity(mData.multiChannels.size()); } else { this.multiChannels = new IntObjectMap <LongObjectMap <ChatChannelData> >(mData.multiChannels.size()); } IntObjectMap <LongObjectMap <ChatChannelData> > multiChannelsT = this.multiChannels; if (!mData.multiChannels.isEmpty()) { int multiChannelsKFreeValue = mData.multiChannels.getFreeValue(); int[] multiChannelsKKeys = mData.multiChannels.getKeys(); LongObjectMap <ChatChannelData>[] multiChannelsVValues = mData.multiChannels.getValues(); for (int multiChannelsKI = multiChannelsKKeys.Length - 1; multiChannelsKI >= 0; --multiChannelsKI) { int multiChannelsK = multiChannelsKKeys[multiChannelsKI]; if (multiChannelsK != multiChannelsKFreeValue) { LongObjectMap <ChatChannelData> multiChannelsV = multiChannelsVValues[multiChannelsKI]; int multiChannelsW; LongObjectMap <ChatChannelData> multiChannelsU; multiChannelsW = multiChannelsK; if (multiChannelsV != null) { multiChannelsU = new LongObjectMap <ChatChannelData>(multiChannelsV.size()); LongObjectMap <ChatChannelData> multiChannelsUT = multiChannelsU; if (!multiChannelsV.isEmpty()) { long multiChannelsUKFreeValue = multiChannelsV.getFreeValue(); long[] multiChannelsUKKeys = multiChannelsV.getKeys(); ChatChannelData[] multiChannelsUVValues = multiChannelsV.getValues(); for (int multiChannelsUKI = multiChannelsUKKeys.Length - 1; multiChannelsUKI >= 0; --multiChannelsUKI) { long multiChannelsUK = multiChannelsUKKeys[multiChannelsUKI]; if (multiChannelsUK != multiChannelsUKFreeValue) { ChatChannelData multiChannelsUV = multiChannelsUVValues[multiChannelsUKI]; long multiChannelsUW; ChatChannelData multiChannelsUU; multiChannelsUW = multiChannelsUK; if (multiChannelsUV != null) { multiChannelsUU = (ChatChannelData)multiChannelsUV.clone(); } else { multiChannelsUU = null; nullObjError("multiChannelsUU"); } multiChannelsUT.put(multiChannelsUW, multiChannelsUU); } } } } else { multiChannelsU = null; nullObjError("multiChannelsU"); } multiChannelsT.put(multiChannelsW, multiChannelsU); } } } } else { this.multiChannels = null; nullObjError("multiChannels"); } this.chatSendIndex = mData.chatSendIndex; }
public override void setData(BaseData data) { base.setData(data); _d = (SocialPartData)data; }