コード例 #1
0
    /// <summary>
    /// 复制(潜拷贝)
    /// </summary>
    protected override void toShadowCopy(BaseData data)
    {
        base.toShadowCopy(data);

        if (!(data is PlayerRoleGroupClientToolData))
        {
            return;
        }

        PlayerRoleGroupClientToolData mData = (PlayerRoleGroupClientToolData)data;

        this.groups         = mData.groups;
        this.applyDic       = mData.applyDic;
        this.canInviteInAbs = mData.canInviteInAbs;
        this.inviteList     = mData.inviteList;
    }
コード例 #2
0
    /// <summary>
    /// 是否数据一致
    /// </summary>
    protected override bool toDataEquals(BaseData data)
    {
        if (!base.toDataEquals(data))
        {
            return(false);
        }

        PlayerRoleGroupClientToolData mData = (PlayerRoleGroupClientToolData)data;

        if (mData.groups != null)
        {
            if (this.groups == null)
            {
                return(false);
            }
            if (this.groups.size() != mData.groups.size())
            {
                return(false);
            }
            LongObjectMap <PlayerRoleGroupData> groupsR = mData.groups;
            if (!this.groups.isEmpty())
            {
                long   groupsKFreeValue             = this.groups.getFreeValue();
                long[] groupsKKeys                  = this.groups.getKeys();
                PlayerRoleGroupData[] groupsVValues = this.groups.getValues();
                for (int groupsKI = groupsKKeys.Length - 1; groupsKI >= 0; --groupsKI)
                {
                    long groupsK = groupsKKeys[groupsKI];
                    if (groupsK != groupsKFreeValue)
                    {
                        PlayerRoleGroupData groupsV = groupsVValues[groupsKI];
                        PlayerRoleGroupData groupsU = groupsR.get(groupsK);
                        if (groupsU != null)
                        {
                            if (groupsV == null)
                            {
                                return(false);
                            }
                            if (!groupsV.dataEquals(groupsU))
                            {
                                return(false);
                            }
                        }
                        else
                        {
                            if (groupsV != null)
                            {
                                return(false);
                            }
                        }
                    }
                }
            }
        }
        else
        {
            if (this.groups != null)
            {
                return(false);
            }
        }

        if (mData.applyDic != null)
        {
            if (this.applyDic == null)
            {
                return(false);
            }
            if (this.applyDic.size() != mData.applyDic.size())
            {
                return(false);
            }
            LongObjectMap <PlayerApplyRoleGroupSelfData> applyDicR = mData.applyDic;
            if (!this.applyDic.isEmpty())
            {
                long   applyDicKFreeValue = this.applyDic.getFreeValue();
                long[] applyDicKKeys      = this.applyDic.getKeys();
                PlayerApplyRoleGroupSelfData[] applyDicVValues = this.applyDic.getValues();
                for (int applyDicKI = applyDicKKeys.Length - 1; applyDicKI >= 0; --applyDicKI)
                {
                    long applyDicK = applyDicKKeys[applyDicKI];
                    if (applyDicK != applyDicKFreeValue)
                    {
                        PlayerApplyRoleGroupSelfData applyDicV = applyDicVValues[applyDicKI];
                        PlayerApplyRoleGroupSelfData applyDicU = applyDicR.get(applyDicK);
                        if (applyDicU != null)
                        {
                            if (applyDicV == null)
                            {
                                return(false);
                            }
                            if (!applyDicV.dataEquals(applyDicU))
                            {
                                return(false);
                            }
                        }
                        else
                        {
                            if (applyDicV != null)
                            {
                                return(false);
                            }
                        }
                    }
                }
            }
        }
        else
        {
            if (this.applyDic != null)
            {
                return(false);
            }
        }

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

        if (mData.inviteList != null)
        {
            if (this.inviteList == null)
            {
                return(false);
            }
            if (this.inviteList.size() != mData.inviteList.size())
            {
                return(false);
            }
            SList <InviteRoleGroupReceiveData> inviteListT = this.inviteList;
            SList <InviteRoleGroupReceiveData> inviteListR = mData.inviteList;
            int inviteListLen = inviteListT.size();
            for (int inviteListI = 0; inviteListI < inviteListLen; ++inviteListI)
            {
                InviteRoleGroupReceiveData inviteListU = inviteListT.get(inviteListI);
                InviteRoleGroupReceiveData inviteListV = inviteListR.get(inviteListI);
                if (inviteListV != null)
                {
                    if (inviteListU == null)
                    {
                        return(false);
                    }
                    if (!inviteListU.dataEquals(inviteListV))
                    {
                        return(false);
                    }
                }
                else
                {
                    if (inviteListU != null)
                    {
                        return(false);
                    }
                }
            }
        }
        else
        {
            if (this.inviteList != null)
            {
                return(false);
            }
        }

        return(true);
    }
コード例 #3
0
    /// <summary>
    /// 复制(深拷贝)
    /// </summary>
    protected override void toCopy(BaseData data)
    {
        base.toCopy(data);

        if (!(data is PlayerRoleGroupClientToolData))
        {
            return;
        }

        PlayerRoleGroupClientToolData mData = (PlayerRoleGroupClientToolData)data;

        if (mData.groups != null)
        {
            if (this.groups != null)
            {
                this.groups.clear();
                this.groups.ensureCapacity(mData.groups.size());
            }
            else
            {
                this.groups = new LongObjectMap <PlayerRoleGroupData>(mData.groups.size());
            }

            LongObjectMap <PlayerRoleGroupData> groupsT = this.groups;
            if (!mData.groups.isEmpty())
            {
                PlayerRoleGroupData[] groupsVValues = mData.groups.getValues();
                for (int groupsVI = groupsVValues.Length - 1; groupsVI >= 0; --groupsVI)
                {
                    PlayerRoleGroupData groupsV = groupsVValues[groupsVI];
                    if (groupsV != null)
                    {
                        PlayerRoleGroupData groupsU;
                        if (groupsV != null)
                        {
                            groupsU = (PlayerRoleGroupData)groupsV.clone();
                        }
                        else
                        {
                            groupsU = null;
                            nullObjError("groupsU");
                        }

                        groupsT.put(groupsU.groupID, groupsU);
                    }
                }
            }
        }
        else
        {
            this.groups = null;
            nullObjError("groups");
        }

        if (mData.applyDic != null)
        {
            if (this.applyDic != null)
            {
                this.applyDic.clear();
                this.applyDic.ensureCapacity(mData.applyDic.size());
            }
            else
            {
                this.applyDic = new LongObjectMap <PlayerApplyRoleGroupSelfData>(mData.applyDic.size());
            }

            LongObjectMap <PlayerApplyRoleGroupSelfData> applyDicT = this.applyDic;
            if (!mData.applyDic.isEmpty())
            {
                PlayerApplyRoleGroupSelfData[] applyDicVValues = mData.applyDic.getValues();
                for (int applyDicVI = applyDicVValues.Length - 1; applyDicVI >= 0; --applyDicVI)
                {
                    PlayerApplyRoleGroupSelfData applyDicV = applyDicVValues[applyDicVI];
                    if (applyDicV != null)
                    {
                        PlayerApplyRoleGroupSelfData applyDicU;
                        if (applyDicV != null)
                        {
                            applyDicU = (PlayerApplyRoleGroupSelfData)applyDicV.clone();
                        }
                        else
                        {
                            applyDicU = null;
                            nullObjError("applyDicU");
                        }

                        applyDicT.put(applyDicU.data.groupID, applyDicU);
                    }
                }
            }
        }
        else
        {
            this.applyDic = null;
            nullObjError("applyDic");
        }

        this.canInviteInAbs = mData.canInviteInAbs;

        if (mData.inviteList != null)
        {
            if (this.inviteList != null)
            {
                this.inviteList.clear();
                this.inviteList.ensureCapacity(mData.inviteList.size());
            }
            else
            {
                this.inviteList = new SList <InviteRoleGroupReceiveData>();
            }

            SList <InviteRoleGroupReceiveData> inviteListT = this.inviteList;
            if (!mData.inviteList.isEmpty())
            {
                InviteRoleGroupReceiveData[] inviteListVValues = mData.inviteList.getValues();
                for (int inviteListVI = 0, inviteListVLen = mData.inviteList.length(); inviteListVI < inviteListVLen; ++inviteListVI)
                {
                    InviteRoleGroupReceiveData inviteListV = inviteListVValues[inviteListVI];
                    InviteRoleGroupReceiveData inviteListU;
                    if (inviteListV != null)
                    {
                        inviteListU = (InviteRoleGroupReceiveData)inviteListV.clone();
                    }
                    else
                    {
                        inviteListU = null;
                        nullObjError("inviteListU");
                    }

                    inviteListT.add(inviteListU);
                }
            }
        }
        else
        {
            this.inviteList = null;
            nullObjError("inviteList");
        }
    }
コード例 #4
0
    protected override void toSetData(FuncToolData data)
    {
        base.toSetData(data);

        _d = (PlayerRoleGroupClientToolData)data;
    }