Example #1
0
    /// <summary>
    /// 复制(潜拷贝)
    /// </summary>
    protected override void toShadowCopy(BaseData data)
    {
        if (!(data is QuestCompleteData))
        {
            return;
        }

        QuestCompleteData mData = (QuestCompleteData)data;

        this.id        = mData.id;
        this.reTime    = mData.reTime;
        this.isSuccess = mData.isSuccess;
    }
Example #2
0
    /** 添加完成记录 */
    private void addCompleteRecord(QuestConfig config, bool isSuccess)
    {
        switch (config.repeatType)
        {
        case QuestRepeatType.Once:
        {
            //胜利记录
            if (isSuccess)
            {
                DIntData questLine;
                if (!(questLine = config.questLine).isEmpty())
                {
                    //更高
                    if (questLine.value > _d.completeLines.getOrDefault(questLine.key, -1))
                    {
                        _d.completeLines.put(questLine.key, questLine.value);
                    }
                }
                else
                {
                    _d.completeIDs.add(config.id);
                }

                checkWaitAcceptQuestByComplete(config);
            }
        }
        break;

        case QuestRepeatType.Cycle:
        {
            QuestCompleteData cData = _d.completeQuestsDic.get(config.id);

            if (cData == null)
            {
                cData    = new QuestCompleteData();
                cData.id = config.id;
                _d.completeQuestsDic.put(config.id, cData);
            }

            //下个时间
            cData.reTime    = config.cycleTimeT.getNextTime();
            cData.isSuccess = isSuccess;
        }
        break;
        }
    }
Example #3
0
    /// <summary>
    /// 是否数据一致
    /// </summary>
    protected override bool toDataEquals(BaseData data)
    {
        QuestCompleteData mData = (QuestCompleteData)data;

        if (this.id != mData.id)
        {
            return(false);
        }

        if (this.reTime != mData.reTime)
        {
            return(false);
        }

        if (this.isSuccess != mData.isSuccess)
        {
            return(false);
        }

        return(true);
    }
Example #4
0
    /// <summary>
    /// 转文本输出
    /// </summary>
    protected override void toWriteDataString(DataWriter writer)
    {
        writer.writeTabs();
        writer.sb.Append("clientTaskInstanceIDIndex");
        writer.sb.Append(':');
        writer.sb.Append(this.clientTaskInstanceIDIndex);

        writer.writeEnter();
        writer.writeTabs();
        writer.sb.Append("accepts");
        writer.sb.Append(':');
        writer.sb.Append("Map<int,QuestData>");
        if (this.accepts != null)
        {
            writer.sb.Append('(');
            writer.sb.Append(this.accepts.size());
            writer.sb.Append(')');
            writer.writeEnter();
            writer.writeLeftBrace();
            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];
                        writer.writeTabs();
                        writer.sb.Append(acceptsK);

                        writer.sb.Append(':');
                        if (acceptsV != null)
                        {
                            acceptsV.writeDataString(writer);
                        }
                        else
                        {
                            writer.sb.Append("QuestData=null");
                        }

                        writer.writeEnter();
                    }
                }
            }
            writer.writeRightBrace();
        }
        else
        {
            writer.sb.Append("=null");
        }

        writer.writeEnter();
        writer.writeTabs();
        writer.sb.Append("completeLines");
        writer.sb.Append(':');
        writer.sb.Append("Map<int,int>");
        if (this.completeLines != null)
        {
            writer.sb.Append('(');
            writer.sb.Append(this.completeLines.size());
            writer.sb.Append(')');
            writer.writeEnter();
            writer.writeLeftBrace();
            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];
                        writer.writeTabs();
                        writer.sb.Append(completeLinesK);

                        writer.sb.Append(':');
                        writer.sb.Append(completeLinesV);

                        writer.writeEnter();
                    }
                }
            }
            writer.writeRightBrace();
        }
        else
        {
            writer.sb.Append("=null");
        }

        writer.writeEnter();
        writer.writeTabs();
        writer.sb.Append("completeIDs");
        writer.sb.Append(':');
        writer.sb.Append("Set<int>");
        if (this.completeIDs != null)
        {
            writer.sb.Append('(');
            writer.sb.Append(this.completeIDs.size());
            writer.sb.Append(')');
            writer.writeEnter();
            writer.writeLeftBrace();
            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)
                    {
                        writer.writeTabs();
                        writer.sb.Append(completeIDsV);

                        writer.writeEnter();
                    }
                }
            }
            writer.writeRightBrace();
        }
        else
        {
            writer.sb.Append("=null");
        }

        writer.writeEnter();
        writer.writeTabs();
        writer.sb.Append("completeQuestsDic");
        writer.sb.Append(':');
        writer.sb.Append("Map<int,QuestCompleteData>");
        if (this.completeQuestsDic != null)
        {
            writer.sb.Append('(');
            writer.sb.Append(this.completeQuestsDic.size());
            writer.sb.Append(')');
            writer.writeEnter();
            writer.writeLeftBrace();
            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];
                        writer.writeTabs();
                        writer.sb.Append(completeQuestsDicK);

                        writer.sb.Append(':');
                        if (completeQuestsDicV != null)
                        {
                            completeQuestsDicV.writeDataString(writer);
                        }
                        else
                        {
                            writer.sb.Append("QuestCompleteData=null");
                        }

                        writer.writeEnter();
                    }
                }
            }
            writer.writeRightBrace();
        }
        else
        {
            writer.sb.Append("=null");
        }

        writer.writeEnter();
    }
Example #5
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 #6
0
    /// <summary>
    /// 写入字节流(完整版)
    /// </summary>
    protected override void toWriteBytesFull(BytesWriteStream stream)
    {
        stream.startWriteObj();

        stream.writeInt(this.clientTaskInstanceIDIndex);

        if (this.accepts != null)
        {
            stream.writeLen(this.accepts.size());
            if (!this.accepts.isEmpty())
            {
                QuestData[] acceptsVValues = this.accepts.getValues();
                for (int acceptsVI = acceptsVValues.Length - 1; acceptsVI >= 0; --acceptsVI)
                {
                    QuestData acceptsV = acceptsVValues[acceptsVI];
                    if (acceptsV != null)
                    {
                        if (acceptsV != null)
                        {
                            stream.writeDataFullNotNull(acceptsV);
                        }
                        else
                        {
                            nullObjError("acceptsV");
                        }
                    }
                }
            }
        }
        else
        {
            nullObjError("accepts");
        }

        if (this.completeLines != null)
        {
            stream.writeLen(this.completeLines.size());
            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];
                        stream.writeInt(completeLinesK);

                        stream.writeInt(completeLinesV);
                    }
                }
            }
        }
        else
        {
            nullObjError("completeLines");
        }

        if (this.completeIDs != null)
        {
            stream.writeLen(this.completeIDs.size());
            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)
                    {
                        stream.writeInt(completeIDsV);
                    }
                }
            }
        }
        else
        {
            nullObjError("completeIDs");
        }

        if (this.completeQuestsDic != null)
        {
            stream.writeLen(this.completeQuestsDic.size());
            if (!this.completeQuestsDic.isEmpty())
            {
                QuestCompleteData[] completeQuestsDicVValues = this.completeQuestsDic.getValues();
                for (int completeQuestsDicVI = completeQuestsDicVValues.Length - 1; completeQuestsDicVI >= 0; --completeQuestsDicVI)
                {
                    QuestCompleteData completeQuestsDicV = completeQuestsDicVValues[completeQuestsDicVI];
                    if (completeQuestsDicV != null)
                    {
                        if (completeQuestsDicV != null)
                        {
                            stream.writeDataFullNotNull(completeQuestsDicV);
                        }
                        else
                        {
                            nullObjError("completeQuestsDicV");
                        }
                    }
                }
            }
        }
        else
        {
            nullObjError("completeQuestsDic");
        }

        stream.endWriteObj();
    }
Example #7
0
    /// <summary>
    /// 读取字节流(完整版)
    /// </summary>
    protected override void toReadBytesFull(BytesReadStream stream)
    {
        stream.startReadObj();

        this.clientTaskInstanceIDIndex = stream.readInt();

        int acceptsLen = stream.readLen();

        if (this.accepts != null)
        {
            this.accepts.clear();
            this.accepts.ensureCapacity(acceptsLen);
        }
        else
        {
            this.accepts = new IntObjectMap <QuestData>(acceptsLen);
        }

        IntObjectMap <QuestData> acceptsT = this.accepts;

        for (int acceptsI = acceptsLen - 1; acceptsI >= 0; --acceptsI)
        {
            QuestData acceptsV;
            BaseData  acceptsVT = stream.readDataFullNotNull();
            if (acceptsVT != null)
            {
                if (acceptsVT is QuestData)
                {
                    acceptsV = (QuestData)acceptsVT;
                }
                else
                {
                    acceptsV = new QuestData();
                    if (!(acceptsVT.GetType().IsAssignableFrom(typeof(QuestData))))
                    {
                        stream.throwTypeReadError(typeof(QuestData), acceptsVT.GetType());
                    }
                    acceptsV.shadowCopy(acceptsVT);
                }
            }
            else
            {
                acceptsV = null;
            }

            acceptsT.put(acceptsV.id, acceptsV);
        }

        int completeLinesLen = stream.readLen();

        if (this.completeLines != null)
        {
            this.completeLines.clear();
            this.completeLines.ensureCapacity(completeLinesLen);
        }
        else
        {
            this.completeLines = new IntIntMap(completeLinesLen);
        }

        IntIntMap completeLinesT = this.completeLines;

        for (int completeLinesI = completeLinesLen - 1; completeLinesI >= 0; --completeLinesI)
        {
            int completeLinesK;
            int completeLinesV;
            completeLinesK = stream.readInt();

            completeLinesV = stream.readInt();

            completeLinesT.put(completeLinesK, completeLinesV);
        }

        int completeIDsLen = stream.readLen();

        if (this.completeIDs != null)
        {
            this.completeIDs.clear();
            this.completeIDs.ensureCapacity(completeIDsLen);
        }
        else
        {
            this.completeIDs = new IntSet();
        }

        IntSet completeIDsT = this.completeIDs;

        for (int completeIDsI = completeIDsLen - 1; completeIDsI >= 0; --completeIDsI)
        {
            int completeIDsV;
            completeIDsV = stream.readInt();

            completeIDsT.add(completeIDsV);
        }

        int completeQuestsDicLen = stream.readLen();

        if (this.completeQuestsDic != null)
        {
            this.completeQuestsDic.clear();
            this.completeQuestsDic.ensureCapacity(completeQuestsDicLen);
        }
        else
        {
            this.completeQuestsDic = new IntObjectMap <QuestCompleteData>(completeQuestsDicLen);
        }

        IntObjectMap <QuestCompleteData> completeQuestsDicT = this.completeQuestsDic;

        for (int completeQuestsDicI = completeQuestsDicLen - 1; completeQuestsDicI >= 0; --completeQuestsDicI)
        {
            QuestCompleteData completeQuestsDicV;
            BaseData          completeQuestsDicVT = stream.readDataFullNotNull();
            if (completeQuestsDicVT != null)
            {
                if (completeQuestsDicVT is QuestCompleteData)
                {
                    completeQuestsDicV = (QuestCompleteData)completeQuestsDicVT;
                }
                else
                {
                    completeQuestsDicV = new QuestCompleteData();
                    if (!(completeQuestsDicVT.GetType().IsAssignableFrom(typeof(QuestCompleteData))))
                    {
                        stream.throwTypeReadError(typeof(QuestCompleteData), completeQuestsDicVT.GetType());
                    }
                    completeQuestsDicV.shadowCopy(completeQuestsDicVT);
                }
            }
            else
            {
                completeQuestsDicV = null;
            }

            completeQuestsDicT.put(completeQuestsDicV.id, completeQuestsDicV);
        }

        stream.endReadObj();
    }
Example #8
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");
        }
    }