Example #1
0
    /// <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;
    }
Example #2
0
 /// <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;
 }
Example #3
0
    /// <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;
    }
Example #4
0
 /// <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;
 }
Example #5
0
    /// <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();
    }
Example #6
0
    public override void setData(BaseData data)
    {
        base.setData(data);

        _d = (QuestPartData)data;
    }
Example #7
0
    /// <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");
        }
    }
Example #8
0
    /// <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();
    }
Example #9
0
    /// <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);
    }
Example #10
0
    /// <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");
        }
    }