Exemple #1
0
 /// <summary>
 /// 回池
 /// </summary>
 protected override void toRelease(DataPool pool)
 {
     this.instanceID = 0;
     this.identity   = null;
     this.pos        = null;
     this.attributes = null;
 }
Exemple #2
0
    /// <summary>
    /// 复制(深拷贝)
    /// </summary>
    protected override void toCopy(BaseData data)
    {
        if (!(data is UnitPosData))
        {
            return;
        }

        UnitPosData mData = (UnitPosData)data;

        if (mData.pos != null)
        {
            this.pos = (PosData)BytesControl.createData(PosData.dataID);
            this.pos.copy(mData.pos);
        }
        else
        {
            this.pos = null;
            nullObjError("pos");
        }

        if (mData.dir != null)
        {
            this.dir = (DirData)BytesControl.createData(DirData.dataID);
            this.dir.copy(mData.dir);
        }
        else
        {
            this.dir = null;
            nullObjError("dir");
        }
    }
Exemple #3
0
    public override void init()
    {
        base.init();

        _scenePosLogic = _scene.pos;

        _d          = _data.pos;
        _posDir.pos = _pos = _d.pos;
        _posDir.dir = _dir = _d.dir;
    }
Exemple #4
0
    /// <summary>
    /// 复制(潜拷贝)
    /// </summary>
    protected override void toShadowCopy(BaseData data)
    {
        if (!(data is UnitPosData))
        {
            return;
        }

        UnitPosData mData = (UnitPosData)data;

        this.pos = mData.pos;
        this.dir = mData.dir;
    }
Exemple #5
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 #6
0
    /// <summary>
    /// 复制(潜拷贝)
    /// </summary>
    protected override void toShadowCopy(BaseData data)
    {
        if (!(data is UnitSimpleData))
        {
            return;
        }

        UnitSimpleData mData = (UnitSimpleData)data;

        this.instanceID = mData.instanceID;
        this.identity   = mData.identity;
        this.pos        = mData.pos;
        this.attributes = mData.attributes;
    }
Exemple #7
0
    public override void dispose()
    {
        base.dispose();

        _scenePosLogic = null;
        _d             = null;
        _pos           = null;
        _dir           = null;
        _posDir.pos    = null;
        _posDir.dir    = null;

        tempSortKey = 0f;

        _moveBindUnits.clear();
        _beMoveBindUnit = null;
    }
Exemple #8
0
    /// <summary>
    /// 是否数据一致
    /// </summary>
    protected override bool toDataEquals(BaseData data)
    {
        UnitPosData mData = (UnitPosData)data;

        if (mData.pos != null)
        {
            if (this.pos == null)
            {
                return(false);
            }
            if (!this.pos.dataEquals(mData.pos))
            {
                return(false);
            }
        }
        else
        {
            if (this.pos != null)
            {
                return(false);
            }
        }

        if (mData.dir != null)
        {
            if (this.dir == null)
            {
                return(false);
            }
            if (!this.dir.dataEquals(mData.dir))
            {
                return(false);
            }
        }
        else
        {
            if (this.dir != null)
            {
                return(false);
            }
        }

        return(true);
    }
Exemple #9
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 #10
0
    /// <summary>
    /// 读取字节流(简版)
    /// </summary>
    protected override void toReadBytesSimple(BytesReadStream stream)
    {
        this.instanceID = stream.readInt();

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

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

        int attributesLen = stream.readLen();

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

        IntIntMap attributesT = this.attributes;

        for (int attributesI = attributesLen - 1; attributesI >= 0; --attributesI)
        {
            int attributesK;
            int attributesV;
            attributesK = stream.readInt();

            attributesV = stream.readInt();

            attributesT.put(attributesK, attributesV);
        }
    }
Exemple #11
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;
        }
    }
Exemple #12
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 #13
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 #14
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;
        }

        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;
        }

        int attributesLen = stream.readLen();

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

        IntIntMap attributesT = this.attributes;

        for (int attributesI = attributesLen - 1; attributesI >= 0; --attributesI)
        {
            int attributesK;
            int attributesV;
            attributesK = stream.readInt();

            attributesV = stream.readInt();

            attributesT.put(attributesK, attributesV);
        }

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

        UnitSimpleData mData = (UnitSimpleData)data;

        this.instanceID = mData.instanceID;

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

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

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

            IntIntMap attributesT = this.attributes;
            if (!mData.attributes.isEmpty())
            {
                int   attributesKFreeValue = mData.attributes.getFreeValue();
                int[] attributesKKeys      = mData.attributes.getKeys();
                int[] attributesVValues    = mData.attributes.getValues();
                for (int attributesKI = attributesKKeys.Length - 1; attributesKI >= 0; --attributesKI)
                {
                    int attributesK = attributesKKeys[attributesKI];
                    if (attributesK != attributesKFreeValue)
                    {
                        int attributesV = attributesVValues[attributesKI];
                        int attributesW;
                        int attributesU;
                        attributesW = attributesK;

                        attributesU = attributesV;

                        attributesT.put(attributesW, attributesU);
                    }
                }
            }
        }
        else
        {
            this.attributes = null;
            nullObjError("attributes");
        }
    }