Exemple #1
0
    /// <summary>
    /// 复制(深拷贝)
    /// </summary>
    protected override void toCopy(BaseData data)
    {
        if (!(data is UnitInfoData))
        {
            return;
        }

        UnitInfoData mData = (UnitInfoData)data;

        if (mData.identity != null)
        {
            this.identity = (UnitIdentityData)mData.identity.clone();
        }
        else
        {
            this.identity = null;
            nullObjError("identity");
        }

        if (mData.avatar != null)
        {
            this.avatar = (UnitAvatarData)mData.avatar.clone();
        }
        else
        {
            this.avatar = null;
        }
    }
Exemple #2
0
    /// <summary>
    /// 读取字节流(完整版)
    /// </summary>
    protected override void toReadBytesFull(BytesReadStream stream)
    {
        stream.startReadObj();

        BaseData identityT = stream.readDataFullNotNull();

        if (identityT != null)
        {
            if (identityT is UnitIdentityData)
            {
                this.identity = (UnitIdentityData)identityT;
            }
            else
            {
                this.identity = new UnitIdentityData();
                if (!(identityT.GetType().IsAssignableFrom(typeof(UnitIdentityData))))
                {
                    stream.throwTypeReadError(typeof(UnitIdentityData), identityT.GetType());
                }
                this.identity.shadowCopy(identityT);
            }
        }
        else
        {
            this.identity = null;
        }

        if (stream.readBoolean())
        {
            BaseData avatarT = stream.readDataFullNotNull();
            if (avatarT != null)
            {
                if (avatarT is UnitAvatarData)
                {
                    this.avatar = (UnitAvatarData)avatarT;
                }
                else
                {
                    this.avatar = new UnitAvatarData();
                    if (!(avatarT.GetType().IsAssignableFrom(typeof(UnitAvatarData))))
                    {
                        stream.throwTypeReadError(typeof(UnitAvatarData), avatarT.GetType());
                    }
                    this.avatar.shadowCopy(avatarT);
                }
            }
            else
            {
                this.avatar = null;
            }
        }
        else
        {
            this.avatar = null;
        }

        stream.endReadObj();
    }
Exemple #3
0
 /// <summary>
 /// 初始化初值
 /// </summary>
 public override void initDefault()
 {
     this.avatar = new UnitAvatarData();
     this.avatar.initDefault();
     this.fight = new UnitFightData();
     this.fight.initDefault();
     this.equips = new EquipContainerData();
     this.equips.initDefault();
 }
Exemple #4
0
 /// <summary>
 /// 回池
 /// </summary>
 protected override void toRelease(DataPool pool)
 {
     this.id        = 0;
     this.level     = 0;
     this.avatar    = null;
     this.fight     = null;
     this.equips    = null;
     this.mIndex    = 0;
     this.isWorking = false;
 }
Exemple #5
0
    /// <summary>
    /// 复制(潜拷贝)
    /// </summary>
    protected override void toShadowCopy(BaseData data)
    {
        if (!(data is UnitInfoData))
        {
            return;
        }

        UnitInfoData mData = (UnitInfoData)data;

        this.identity = mData.identity;
        this.avatar   = mData.avatar;
    }
Exemple #6
0
    /// <summary>
    /// 复制(潜拷贝)
    /// </summary>
    protected override void toShadowCopy(BaseData data)
    {
        if (!(data is UnitAvatarData))
        {
            return;
        }

        UnitAvatarData mData = (UnitAvatarData)data;

        this.modelID = mData.modelID;
        this.parts   = mData.parts;
    }
Exemple #7
0
    /// <summary>
    /// 复制(深拷贝)
    /// </summary>
    protected override void toCopy(BaseData data)
    {
        if (!(data is UnitAvatarData))
        {
            return;
        }

        UnitAvatarData mData = (UnitAvatarData)data;

        this.modelID = mData.modelID;

        if (mData.parts != null)
        {
            if (this.parts != null)
            {
                this.parts.clear();
                this.parts.ensureCapacity(mData.parts.size());
            }
            else
            {
                this.parts = new IntIntMap(mData.parts.size());
            }

            IntIntMap partsT = this.parts;
            if (!mData.parts.isEmpty())
            {
                int   partsKFreeValue = mData.parts.getFreeValue();
                int[] partsKKeys      = mData.parts.getKeys();
                int[] partsVValues    = mData.parts.getValues();
                for (int partsKI = partsKKeys.Length - 1; partsKI >= 0; --partsKI)
                {
                    int partsK = partsKKeys[partsKI];
                    if (partsK != partsKFreeValue)
                    {
                        int partsV = partsVValues[partsKI];
                        int partsW;
                        int partsU;
                        partsW = partsK;

                        partsU = partsV;

                        partsT.put(partsW, partsU);
                    }
                }
            }
        }
        else
        {
            this.parts = null;
            nullObjError("parts");
        }
    }
Exemple #8
0
 /// <summary>
 /// 回池
 /// </summary>
 protected override void toRelease(DataPool pool)
 {
     this.instanceID = 0;
     this.identity   = null;
     this.normal     = null;
     this.pos        = null;
     this.avatar     = null;
     this.move       = null;
     this.fight      = null;
     this.fightEx    = null;
     this.ai         = null;
     this.func       = null;
 }
Exemple #9
0
    /// <summary>
    /// 读取字节流(简版)
    /// </summary>
    protected override void toReadBytesSimple(BytesReadStream stream)
    {
        this.identity = (UnitIdentityData)stream.readDataSimpleNotNull();

        if (stream.readBoolean())
        {
            this.avatar = (UnitAvatarData)stream.readDataSimpleNotNull();
        }
        else
        {
            this.avatar = null;
        }
    }
Exemple #10
0
    /// <summary>
    /// 是否数据一致
    /// </summary>
    protected override bool toDataEquals(BaseData data)
    {
        UnitAvatarData mData = (UnitAvatarData)data;

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

        if (mData.parts != null)
        {
            if (this.parts == null)
            {
                return(false);
            }
            if (this.parts.size() != mData.parts.size())
            {
                return(false);
            }
            IntIntMap partsR = mData.parts;
            if (!this.parts.isEmpty())
            {
                int   partsKFreeValue = this.parts.getFreeValue();
                int[] partsKKeys      = this.parts.getKeys();
                int[] partsVValues    = this.parts.getValues();
                for (int partsKI = partsKKeys.Length - 1; partsKI >= 0; --partsKI)
                {
                    int partsK = partsKKeys[partsKI];
                    if (partsK != partsKFreeValue)
                    {
                        int partsV = partsVValues[partsKI];
                        int partsU = partsR.get(partsK);
                        if (partsV != partsU)
                        {
                            return(false);
                        }
                    }
                }
            }
        }
        else
        {
            if (this.parts != null)
            {
                return(false);
            }
        }

        return(true);
    }
Exemple #11
0
    /// <summary>
    /// 读取字节流(简版)
    /// </summary>
    protected override void toReadBytesSimple(BytesReadStream stream)
    {
        this.id = stream.readInt();

        this.level = stream.readInt();

        this.avatar = (UnitAvatarData)stream.readDataSimpleNotNull();

        this.fight = (UnitFightData)stream.readDataSimpleNotNull();

        this.equips = (EquipContainerData)stream.readDataSimpleNotNull();

        this.mIndex = stream.readInt();

        this.isWorking = stream.readBoolean();
    }
Exemple #12
0
    /// <summary>
    /// 复制(深拷贝)
    /// </summary>
    protected override void toCopy(BaseData data)
    {
        if (!(data is MUnitUseData))
        {
            return;
        }

        MUnitUseData mData = (MUnitUseData)data;

        this.id = mData.id;

        this.level = mData.level;

        if (mData.avatar != null)
        {
            this.avatar = (UnitAvatarData)mData.avatar.clone();
        }
        else
        {
            this.avatar = null;
            nullObjError("avatar");
        }

        if (mData.fight != null)
        {
            this.fight = (UnitFightData)mData.fight.clone();
        }
        else
        {
            this.fight = null;
            nullObjError("fight");
        }

        if (mData.equips != null)
        {
            this.equips = (EquipContainerData)mData.equips.clone();
        }
        else
        {
            this.equips = null;
            nullObjError("equips");
        }

        this.mIndex = mData.mIndex;

        this.isWorking = mData.isWorking;
    }
Exemple #13
0
    /// <summary>
    /// 复制(潜拷贝)
    /// </summary>
    protected override void toShadowCopy(BaseData data)
    {
        if (!(data is MUnitUseData))
        {
            return;
        }

        MUnitUseData mData = (MUnitUseData)data;

        this.id        = mData.id;
        this.level     = mData.level;
        this.avatar    = mData.avatar;
        this.fight     = mData.fight;
        this.equips    = mData.equips;
        this.mIndex    = mData.mIndex;
        this.isWorking = mData.isWorking;
    }
Exemple #14
0
 /** 设置数据 */
 public void setData(UnitFightData fightData, UnitAvatarData facadeData)
 {
     if ((_data = fightData) != null)
     {
         status.setData(fightData.status);
         attribute.setData(fightData.attributes);
         cd.setData(fightData.cds);
         buff.setData(fightData.buffs);
         avatar.setData(facadeData);
     }
     else
     {
         status.setData(null);
         attribute.setData(null);
         cd.setData(null);
         buff.setData(null);
         avatar.setData(null);
     }
 }
Exemple #15
0
    /// <summary>
    /// 复制(潜拷贝)
    /// </summary>
    protected override void toShadowCopy(BaseData data)
    {
        if (!(data is UnitData))
        {
            return;
        }

        UnitData mData = (UnitData)data;

        this.instanceID = mData.instanceID;
        this.identity   = mData.identity;
        this.normal     = mData.normal;
        this.pos        = mData.pos;
        this.avatar     = mData.avatar;
        this.move       = mData.move;
        this.fight      = mData.fight;
        this.fightEx    = mData.fightEx;
        this.ai         = mData.ai;
        this.func       = mData.func;
    }
Exemple #16
0
    public void setData(UnitAvatarData data)
    {
        _data = data;

        if (data != null)
        {
            _lastDispatchModelID = data.modelID;

            int[]       nowParts       = _nowParts;
            IntIntMap[] normalPartsDic = _normalPartsDic;

            (_dataParts = data.parts).forEach((k, v) =>
            {
                IntIntMap map = new IntIntMap();
                map.put(v, 1);
                normalPartsDic[k] = map;
                nowParts[k]       = v;
            });
        }
        else
        {
            _dataParts = null;
        }
    }
Exemple #17
0
    /// <summary>
    /// 读取字节流(完整版)
    /// </summary>
    protected override void toReadBytesFull(BytesReadStream stream)
    {
        stream.startReadObj();

        this.instanceID = stream.readInt();

        BaseData identityT = stream.readDataFullNotNull();

        if (identityT != null)
        {
            if (identityT is UnitIdentityData)
            {
                this.identity = (UnitIdentityData)identityT;
            }
            else
            {
                this.identity = new UnitIdentityData();
                if (!(identityT.GetType().IsAssignableFrom(typeof(UnitIdentityData))))
                {
                    stream.throwTypeReadError(typeof(UnitIdentityData), identityT.GetType());
                }
                this.identity.shadowCopy(identityT);
            }
        }
        else
        {
            this.identity = null;
        }

        BaseData normalT = stream.readDataFullNotNull();

        if (normalT != null)
        {
            if (normalT is UnitNormalData)
            {
                this.normal = (UnitNormalData)normalT;
            }
            else
            {
                this.normal = new UnitNormalData();
                if (!(normalT.GetType().IsAssignableFrom(typeof(UnitNormalData))))
                {
                    stream.throwTypeReadError(typeof(UnitNormalData), normalT.GetType());
                }
                this.normal.shadowCopy(normalT);
            }
        }
        else
        {
            this.normal = null;
        }

        if (stream.readBoolean())
        {
            BaseData posT = stream.readDataFullNotNull();
            if (posT != null)
            {
                if (posT is UnitPosData)
                {
                    this.pos = (UnitPosData)posT;
                }
                else
                {
                    this.pos = new UnitPosData();
                    if (!(posT.GetType().IsAssignableFrom(typeof(UnitPosData))))
                    {
                        stream.throwTypeReadError(typeof(UnitPosData), posT.GetType());
                    }
                    this.pos.shadowCopy(posT);
                }
            }
            else
            {
                this.pos = null;
            }
        }
        else
        {
            this.pos = null;
        }

        if (stream.readBoolean())
        {
            BaseData avatarT = stream.readDataFullNotNull();
            if (avatarT != null)
            {
                if (avatarT is UnitAvatarData)
                {
                    this.avatar = (UnitAvatarData)avatarT;
                }
                else
                {
                    this.avatar = new UnitAvatarData();
                    if (!(avatarT.GetType().IsAssignableFrom(typeof(UnitAvatarData))))
                    {
                        stream.throwTypeReadError(typeof(UnitAvatarData), avatarT.GetType());
                    }
                    this.avatar.shadowCopy(avatarT);
                }
            }
            else
            {
                this.avatar = null;
            }
        }
        else
        {
            this.avatar = null;
        }

        if (stream.readBoolean())
        {
            BaseData moveT = stream.readDataFullNotNull();
            if (moveT != null)
            {
                if (moveT is UnitMoveData)
                {
                    this.move = (UnitMoveData)moveT;
                }
                else
                {
                    this.move = new UnitMoveData();
                    if (!(moveT.GetType().IsAssignableFrom(typeof(UnitMoveData))))
                    {
                        stream.throwTypeReadError(typeof(UnitMoveData), moveT.GetType());
                    }
                    this.move.shadowCopy(moveT);
                }
            }
            else
            {
                this.move = null;
            }
        }
        else
        {
            this.move = null;
        }

        if (stream.readBoolean())
        {
            BaseData fightT = stream.readDataFullNotNull();
            if (fightT != null)
            {
                if (fightT is UnitFightData)
                {
                    this.fight = (UnitFightData)fightT;
                }
                else
                {
                    this.fight = new UnitFightData();
                    if (!(fightT.GetType().IsAssignableFrom(typeof(UnitFightData))))
                    {
                        stream.throwTypeReadError(typeof(UnitFightData), fightT.GetType());
                    }
                    this.fight.shadowCopy(fightT);
                }
            }
            else
            {
                this.fight = null;
            }
        }
        else
        {
            this.fight = null;
        }

        if (stream.readBoolean())
        {
            BaseData fightExT = stream.readDataFullNotNull();
            if (fightExT != null)
            {
                if (fightExT is UnitFightExData)
                {
                    this.fightEx = (UnitFightExData)fightExT;
                }
                else
                {
                    this.fightEx = new UnitFightExData();
                    if (!(fightExT.GetType().IsAssignableFrom(typeof(UnitFightExData))))
                    {
                        stream.throwTypeReadError(typeof(UnitFightExData), fightExT.GetType());
                    }
                    this.fightEx.shadowCopy(fightExT);
                }
            }
            else
            {
                this.fightEx = null;
            }
        }
        else
        {
            this.fightEx = null;
        }

        if (stream.readBoolean())
        {
            BaseData aiT = stream.readDataFullNotNull();
            if (aiT != null)
            {
                if (aiT is UnitAIData)
                {
                    this.ai = (UnitAIData)aiT;
                }
                else
                {
                    this.ai = new UnitAIData();
                    if (!(aiT.GetType().IsAssignableFrom(typeof(UnitAIData))))
                    {
                        stream.throwTypeReadError(typeof(UnitAIData), aiT.GetType());
                    }
                    this.ai.shadowCopy(aiT);
                }
            }
            else
            {
                this.ai = null;
            }
        }
        else
        {
            this.ai = null;
        }

        if (stream.readBoolean())
        {
            BaseData funcT = stream.readDataFullNotNull();
            if (funcT != null)
            {
                if (funcT is UnitFuncData)
                {
                    this.func = (UnitFuncData)funcT;
                }
                else
                {
                    this.func = new UnitFuncData();
                    if (!(funcT.GetType().IsAssignableFrom(typeof(UnitFuncData))))
                    {
                        stream.throwTypeReadError(typeof(UnitFuncData), funcT.GetType());
                    }
                    this.func.shadowCopy(funcT);
                }
            }
            else
            {
                this.func = null;
            }
        }
        else
        {
            this.func = null;
        }

        stream.endReadObj();
    }
Exemple #18
0
    /// <summary>
    /// 复制(深拷贝)
    /// </summary>
    protected override void toCopy(BaseData data)
    {
        if (!(data is UnitData))
        {
            return;
        }

        UnitData mData = (UnitData)data;

        this.instanceID = mData.instanceID;

        if (mData.identity != null)
        {
            this.identity = (UnitIdentityData)mData.identity.clone();
        }
        else
        {
            this.identity = null;
            nullObjError("identity");
        }

        if (mData.normal != null)
        {
            this.normal = (UnitNormalData)mData.normal.clone();
        }
        else
        {
            this.normal = null;
            nullObjError("normal");
        }

        if (mData.pos != null)
        {
            this.pos = (UnitPosData)mData.pos.clone();
        }
        else
        {
            this.pos = null;
        }

        if (mData.avatar != null)
        {
            this.avatar = (UnitAvatarData)mData.avatar.clone();
        }
        else
        {
            this.avatar = null;
        }

        if (mData.move != null)
        {
            this.move = (UnitMoveData)mData.move.clone();
        }
        else
        {
            this.move = null;
        }

        if (mData.fight != null)
        {
            this.fight = (UnitFightData)mData.fight.clone();
        }
        else
        {
            this.fight = null;
        }

        if (mData.fightEx != null)
        {
            this.fightEx = (UnitFightExData)mData.fightEx.clone();
        }
        else
        {
            this.fightEx = null;
        }

        if (mData.ai != null)
        {
            this.ai = (UnitAIData)mData.ai.clone();
        }
        else
        {
            this.ai = null;
        }

        if (mData.func != null)
        {
            this.func = (UnitFuncData)mData.func.clone();
        }
        else
        {
            this.func = null;
        }
    }
Exemple #19
0
 /// <summary>
 /// 回池
 /// </summary>
 protected override void toRelease(DataPool pool)
 {
     this.identity = null;
     this.avatar   = null;
 }
Exemple #20
0
    /// <summary>
    /// 读取字节流(完整版)
    /// </summary>
    protected override void toReadBytesFull(BytesReadStream stream)
    {
        stream.startReadObj();

        this.id = stream.readInt();

        this.level = stream.readInt();

        BaseData avatarT = stream.readDataFullNotNull();

        if (avatarT != null)
        {
            if (avatarT is UnitAvatarData)
            {
                this.avatar = (UnitAvatarData)avatarT;
            }
            else
            {
                this.avatar = new UnitAvatarData();
                if (!(avatarT.GetType().IsAssignableFrom(typeof(UnitAvatarData))))
                {
                    stream.throwTypeReadError(typeof(UnitAvatarData), avatarT.GetType());
                }
                this.avatar.shadowCopy(avatarT);
            }
        }
        else
        {
            this.avatar = null;
        }

        BaseData fightT = stream.readDataFullNotNull();

        if (fightT != null)
        {
            if (fightT is UnitFightData)
            {
                this.fight = (UnitFightData)fightT;
            }
            else
            {
                this.fight = new UnitFightData();
                if (!(fightT.GetType().IsAssignableFrom(typeof(UnitFightData))))
                {
                    stream.throwTypeReadError(typeof(UnitFightData), fightT.GetType());
                }
                this.fight.shadowCopy(fightT);
            }
        }
        else
        {
            this.fight = null;
        }

        BaseData equipsT = stream.readDataFullNotNull();

        if (equipsT != null)
        {
            if (equipsT is EquipContainerData)
            {
                this.equips = (EquipContainerData)equipsT;
            }
            else
            {
                this.equips = new EquipContainerData();
                if (!(equipsT.GetType().IsAssignableFrom(typeof(EquipContainerData))))
                {
                    stream.throwTypeReadError(typeof(EquipContainerData), equipsT.GetType());
                }
                this.equips.shadowCopy(equipsT);
            }
        }
        else
        {
            this.equips = null;
        }

        this.mIndex = stream.readInt();

        this.isWorking = stream.readBoolean();

        stream.endReadObj();
    }
Exemple #21
0
    /// <summary>
    /// 读取字节流(简版)
    /// </summary>
    protected override void toReadBytesSimple(BytesReadStream stream)
    {
        this.instanceID = stream.readInt();

        this.identity = (UnitIdentityData)stream.readDataSimpleNotNull();

        this.normal = (UnitNormalData)stream.readDataSimpleNotNull();

        if (stream.readBoolean())
        {
            this.pos = (UnitPosData)stream.readDataSimpleNotNull();
        }
        else
        {
            this.pos = null;
        }

        if (stream.readBoolean())
        {
            this.avatar = (UnitAvatarData)stream.readDataSimpleNotNull();
        }
        else
        {
            this.avatar = null;
        }

        if (stream.readBoolean())
        {
            this.move = (UnitMoveData)stream.readDataSimpleNotNull();
        }
        else
        {
            this.move = null;
        }

        if (stream.readBoolean())
        {
            this.fight = (UnitFightData)stream.readDataSimpleNotNull();
        }
        else
        {
            this.fight = null;
        }

        if (stream.readBoolean())
        {
            this.fightEx = (UnitFightExData)stream.readDataSimpleNotNull();
        }
        else
        {
            this.fightEx = null;
        }

        if (stream.readBoolean())
        {
            this.ai = (UnitAIData)stream.readDataSimpleNotNull();
        }
        else
        {
            this.ai = null;
        }

        if (stream.readBoolean())
        {
            this.func = (UnitFuncData)stream.readDataSimpleNotNull();
        }
        else
        {
            this.func = null;
        }
    }