/// <summary> /// 初始化初值 /// </summary> public override void initDefault() { this.identity = new UnitIdentityData(); this.identity.initDefault(); this.normal = new UnitNormalData(); this.normal.initDefault(); }
public override void init() { base.init(); UnitIdentityData identity = _iData = _data.identity; playerID = identity.playerID; if (BaseC.constlist.unit_canFight(identity.type)) { FightUnitIdentityData fData = (FightUnitIdentityData)identity; //有控制单位 if ((controlPlayerID = fData.controlPlayerID) != -1) { //控主分离 if (fData.playerID != fData.controlPlayerID) { _isCUnitNotM = true; } else { _isCUnitNotM = !BaseC.constlist.unit_isMUnit(_unit.type); } } } }
/// <summary> /// 回池 /// </summary> protected override void toRelease(DataPool pool) { this.instanceID = 0; this.identity = null; this.pos = null; this.attributes = null; }
/// <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; } }
/// <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(); }
public override void dispose() { base.dispose(); controlPlayerID = -1; playerID = -1; _iData = null; _unitName = ""; }
/// <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; }
/// <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; } }
/// <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; }
/// <summary> /// 复制(潜拷贝) /// </summary> protected override void toShadowCopy(BaseData data) { if (!(data is UnitIdentityData)) { return; } UnitIdentityData mData = (UnitIdentityData)data; this.type = mData.type; this.playerID = mData.playerID; this.force = mData.force; }
/// <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; }
/// <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; }
/// <summary> /// 是否数据一致 /// </summary> protected override bool toDataEquals(BaseData data) { UnitIdentityData mData = (UnitIdentityData)data; if (this.type != mData.type) { return(false); } if (this.playerID != mData.playerID) { return(false); } if (this.force != mData.force) { return(false); } return(true); }
/// <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); } }
/// <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"); } }
/// <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(); }
/// <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(); }
/// <summary> /// 初始化初值 /// </summary> public override void initDefault() { this.identity = new UnitIdentityData(); this.identity.initDefault(); this.attributes = new IntIntMap(); }
/// <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; } }
/// <summary> /// 回池 /// </summary> protected override void toRelease(DataPool pool) { this.identity = null; this.avatar = null; }
/// <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; } }