public static SyncListUInt ReadInstance(NetworkReader reader) { ushort num = reader.ReadUInt16(); SyncListUInt syncListUInt = new SyncListUInt(); for (ushort num2 = 0; num2 < num; num2 = (ushort)(num2 + 1)) { syncListUInt.AddInternal(reader.ReadPackedUInt32()); } return(syncListUInt); }
public void SyncListUintTest() { SyncListUInt serverList = new SyncListUInt(); SyncListUInt clientList = new SyncListUInt(); serverList.Add(1U); serverList.Add(2U); serverList.Add(3U); SerializeDeltaTo(serverList, clientList); Assert.That(clientList, Is.EquivalentTo(new[] { 1U, 2U, 3U })); }
public void ReadonlyTest() { SyncListUInt serverList = new SyncListUInt(); SyncListUInt clientList = new SyncListUInt(); // data has been flushed, should go back to clear Assert.That(clientList.IsReadOnly, Is.False); serverList.Add(1U); serverList.Add(2U); serverList.Add(3U); SerializeDeltaTo(serverList, clientList); // client list should now lock itself, trying to modify it // should produce an InvalidOperationException Assert.That(clientList.IsReadOnly, Is.True); Assert.Throws <InvalidOperationException>(() => { clientList.Add(5U); }); }
public override void OnDeserialize(NetworkReader reader, bool initialState) { if (initialState) { SyncListUInt.ReadReference(reader, _statusCounts); SyncListUInt.ReadReference(reader, _statusDurations); } else { int num = (int)reader.ReadPackedUInt32(); if ((num & 1) != 0) { SyncListUInt.ReadReference(reader, _statusCounts); } if ((num & 2) == 0) { return; } SyncListUInt.ReadReference(reader, _statusDurations); } }
public override bool OnSerialize(NetworkWriter writer, bool forceAll) { if (forceAll) { SyncListUInt.WriteInstance(writer, _statusCounts); SyncListUInt.WriteInstance(writer, _statusDurations); return(true); } bool flag = false; if (((int)syncVarDirtyBits & 1) != 0) { if (!flag) { writer.WritePackedUInt32(syncVarDirtyBits); flag = true; } SyncListUInt.WriteInstance(writer, _statusCounts); } if (((int)syncVarDirtyBits & 2) != 0) { if (!flag) { writer.WritePackedUInt32(syncVarDirtyBits); flag = true; } SyncListUInt.WriteInstance(writer, _statusDurations); } if (!flag) { writer.WritePackedUInt32(syncVarDirtyBits); } return(flag); }
public override void OnDeserialize(NetworkReader reader, bool initialState) { if (initialState) { SyncListUInt.ReadReference(reader, m_syncEnemySourcesForDamageOrDebuff); SyncListUInt.ReadReference(reader, m_syncAllySourcesForHealAndBuff); m_totalDeaths = (short)reader.ReadPackedUInt32(); m_totalPlayerKills = (short)reader.ReadPackedUInt32(); m_totalPlayerAssists = (short)reader.ReadPackedUInt32(); m_totalPlayerDamage = (int)reader.ReadPackedUInt32(); m_totalPlayerHealing = (int)reader.ReadPackedUInt32(); m_totalPlayerHealingFromAbility = (int)reader.ReadPackedUInt32(); m_totalPlayerOverheal = (int)reader.ReadPackedUInt32(); m_totalPlayerAbsorb = (int)reader.ReadPackedUInt32(); m_totalPlayerPotentialAbsorb = (int)reader.ReadPackedUInt32(); m_totalEnergyGained = (int)reader.ReadPackedUInt32(); m_totalPlayerDamageReceived = (int)reader.ReadPackedUInt32(); m_totalPlayerHealingReceived = (int)reader.ReadPackedUInt32(); m_totalPlayerAbsorbReceived = (int)reader.ReadPackedUInt32(); m_totalPlayerLockInTime = reader.ReadSingle(); m_totalPlayerTurns = (int)reader.ReadPackedUInt32(); m_damageDodgedByEvades = (int)reader.ReadPackedUInt32(); m_damageInterceptedByEvades = (int)reader.ReadPackedUInt32(); m_myIncomingDamageReducedByCover = (int)reader.ReadPackedUInt32(); m_myOutgoingDamageReducedByCover = (int)reader.ReadPackedUInt32(); m_myIncomingOverkillDamageTaken = (int)reader.ReadPackedUInt32(); m_myOutgoingOverkillDamageDealt = (int)reader.ReadPackedUInt32(); m_myOutgoingExtraDamageFromEmpowered = (int)reader.ReadPackedUInt32(); m_myOutgoingDamageReducedFromWeakened = (int)reader.ReadPackedUInt32(); m_teamOutgoingDamageIncreasedByEmpoweredFromMe = (int)reader.ReadPackedUInt32(); m_teamIncomingDamageReducedByWeakenedFromMe = (int)reader.ReadPackedUInt32(); m_teamExtraEnergyGainFromMe = (int)reader.ReadPackedUInt32(); m_movementDeniedByMe = reader.ReadSingle(); m_totalEnemySighted = (int)reader.ReadPackedUInt32(); } else { int num = (int)reader.ReadPackedUInt32(); if ((num & 1) != 0) { SyncListUInt.ReadReference(reader, m_syncEnemySourcesForDamageOrDebuff); } if ((num & 2) != 0) { SyncListUInt.ReadReference(reader, m_syncAllySourcesForHealAndBuff); } if ((num & 4) != 0) { m_totalDeaths = (short)reader.ReadPackedUInt32(); } if ((num & 8) != 0) { m_totalPlayerKills = (short)reader.ReadPackedUInt32(); } if ((num & 16) != 0) { m_totalPlayerAssists = (short)reader.ReadPackedUInt32(); } if ((num & 32) != 0) { m_totalPlayerDamage = (int)reader.ReadPackedUInt32(); } if ((num & 64) != 0) { m_totalPlayerHealing = (int)reader.ReadPackedUInt32(); } if ((num & 128) != 0) { m_totalPlayerHealingFromAbility = (int)reader.ReadPackedUInt32(); } if ((num & 256) != 0) { m_totalPlayerOverheal = (int)reader.ReadPackedUInt32(); } if ((num & 512) != 0) { m_totalPlayerAbsorb = (int)reader.ReadPackedUInt32(); } if ((num & 1024) != 0) { m_totalPlayerPotentialAbsorb = (int)reader.ReadPackedUInt32(); } if ((num & 2048) != 0) { m_totalEnergyGained = (int)reader.ReadPackedUInt32(); } if ((num & 4096) != 0) { m_totalPlayerDamageReceived = (int)reader.ReadPackedUInt32(); } if ((num & 8192) != 0) { m_totalPlayerHealingReceived = (int)reader.ReadPackedUInt32(); } if ((num & 16384) != 0) { m_totalPlayerAbsorbReceived = (int)reader.ReadPackedUInt32(); } if ((num & 32768) != 0) { m_totalPlayerLockInTime = reader.ReadSingle(); } if ((num & 65536) != 0) { m_totalPlayerTurns = (int)reader.ReadPackedUInt32(); } if ((num & 131072) != 0) { m_damageDodgedByEvades = (int)reader.ReadPackedUInt32(); } if ((num & 262144) != 0) { m_damageInterceptedByEvades = (int)reader.ReadPackedUInt32(); } if ((num & 524288) != 0) { m_myIncomingDamageReducedByCover = (int)reader.ReadPackedUInt32(); } if ((num & 1048576) != 0) { m_myOutgoingDamageReducedByCover = (int)reader.ReadPackedUInt32(); } if ((num & 2097152) != 0) { m_myIncomingOverkillDamageTaken = (int)reader.ReadPackedUInt32(); } if ((num & 4194304) != 0) { m_myOutgoingOverkillDamageDealt = (int)reader.ReadPackedUInt32(); } if ((num & 8388608) != 0) { m_myOutgoingExtraDamageFromEmpowered = (int)reader.ReadPackedUInt32(); } if ((num & 16777216) != 0) { m_myOutgoingDamageReducedFromWeakened = (int)reader.ReadPackedUInt32(); } if ((num & 33554432) != 0) { m_teamOutgoingDamageIncreasedByEmpoweredFromMe = (int)reader.ReadPackedUInt32(); } if ((num & 67108864) != 0) { m_teamIncomingDamageReducedByWeakenedFromMe = (int)reader.ReadPackedUInt32(); } if ((num & 134217728) != 0) { m_teamExtraEnergyGainFromMe = (int)reader.ReadPackedUInt32(); } if ((num & 268435456) != 0) { m_movementDeniedByMe = reader.ReadSingle(); } if ((num & 536870912) == 0) { return; } m_totalEnemySighted = (int)reader.ReadPackedUInt32(); } }
public override bool OnSerialize(NetworkWriter writer, bool forceAll) { if (forceAll) { SyncListUInt.WriteInstance(writer, m_syncEnemySourcesForDamageOrDebuff); SyncListUInt.WriteInstance(writer, m_syncAllySourcesForHealAndBuff); writer.WritePackedUInt32((uint)m_totalDeaths); writer.WritePackedUInt32((uint)m_totalPlayerKills); writer.WritePackedUInt32((uint)m_totalPlayerAssists); writer.WritePackedUInt32((uint)m_totalPlayerDamage); writer.WritePackedUInt32((uint)m_totalPlayerHealing); writer.WritePackedUInt32((uint)m_totalPlayerHealingFromAbility); writer.WritePackedUInt32((uint)m_totalPlayerOverheal); writer.WritePackedUInt32((uint)m_totalPlayerAbsorb); writer.WritePackedUInt32((uint)m_totalPlayerPotentialAbsorb); writer.WritePackedUInt32((uint)m_totalEnergyGained); writer.WritePackedUInt32((uint)m_totalPlayerDamageReceived); writer.WritePackedUInt32((uint)m_totalPlayerHealingReceived); writer.WritePackedUInt32((uint)m_totalPlayerAbsorbReceived); writer.Write(m_totalPlayerLockInTime); writer.WritePackedUInt32((uint)m_totalPlayerTurns); writer.WritePackedUInt32((uint)m_damageDodgedByEvades); writer.WritePackedUInt32((uint)m_damageInterceptedByEvades); writer.WritePackedUInt32((uint)m_myIncomingDamageReducedByCover); writer.WritePackedUInt32((uint)m_myOutgoingDamageReducedByCover); writer.WritePackedUInt32((uint)m_myIncomingOverkillDamageTaken); writer.WritePackedUInt32((uint)m_myOutgoingOverkillDamageDealt); writer.WritePackedUInt32((uint)m_myOutgoingExtraDamageFromEmpowered); writer.WritePackedUInt32((uint)m_myOutgoingDamageReducedFromWeakened); writer.WritePackedUInt32((uint)m_teamOutgoingDamageIncreasedByEmpoweredFromMe); writer.WritePackedUInt32((uint)m_teamIncomingDamageReducedByWeakenedFromMe); writer.WritePackedUInt32((uint)m_teamExtraEnergyGainFromMe); writer.Write(m_movementDeniedByMe); writer.WritePackedUInt32((uint)m_totalEnemySighted); return(true); } bool flag = false; if (((int)syncVarDirtyBits & 1) != 0) { if (!flag) { writer.WritePackedUInt32(syncVarDirtyBits); flag = true; } SyncListUInt.WriteInstance(writer, m_syncEnemySourcesForDamageOrDebuff); } if (((int)syncVarDirtyBits & 2) != 0) { if (!flag) { writer.WritePackedUInt32(syncVarDirtyBits); flag = true; } SyncListUInt.WriteInstance(writer, m_syncAllySourcesForHealAndBuff); } if (((int)syncVarDirtyBits & 4) != 0) { if (!flag) { writer.WritePackedUInt32(syncVarDirtyBits); flag = true; } writer.WritePackedUInt32((uint)m_totalDeaths); } if (((int)syncVarDirtyBits & 8) != 0) { if (!flag) { writer.WritePackedUInt32(syncVarDirtyBits); flag = true; } writer.WritePackedUInt32((uint)m_totalPlayerKills); } if (((int)syncVarDirtyBits & 16) != 0) { if (!flag) { writer.WritePackedUInt32(syncVarDirtyBits); flag = true; } writer.WritePackedUInt32((uint)m_totalPlayerAssists); } if (((int)syncVarDirtyBits & 32) != 0) { if (!flag) { writer.WritePackedUInt32(syncVarDirtyBits); flag = true; } writer.WritePackedUInt32((uint)m_totalPlayerDamage); } if (((int)syncVarDirtyBits & 64) != 0) { if (!flag) { writer.WritePackedUInt32(syncVarDirtyBits); flag = true; } writer.WritePackedUInt32((uint)m_totalPlayerHealing); } if (((int)syncVarDirtyBits & 128) != 0) { if (!flag) { writer.WritePackedUInt32(syncVarDirtyBits); flag = true; } writer.WritePackedUInt32((uint)m_totalPlayerHealingFromAbility); } if (((int)syncVarDirtyBits & 256) != 0) { if (!flag) { writer.WritePackedUInt32(syncVarDirtyBits); flag = true; } writer.WritePackedUInt32((uint)m_totalPlayerOverheal); } if (((int)syncVarDirtyBits & 512) != 0) { if (!flag) { writer.WritePackedUInt32(syncVarDirtyBits); flag = true; } writer.WritePackedUInt32((uint)m_totalPlayerAbsorb); } if (((int)syncVarDirtyBits & 1024) != 0) { if (!flag) { writer.WritePackedUInt32(syncVarDirtyBits); flag = true; } writer.WritePackedUInt32((uint)m_totalPlayerPotentialAbsorb); } if (((int)syncVarDirtyBits & 2048) != 0) { if (!flag) { writer.WritePackedUInt32(syncVarDirtyBits); flag = true; } writer.WritePackedUInt32((uint)m_totalEnergyGained); } if (((int)syncVarDirtyBits & 4096) != 0) { if (!flag) { writer.WritePackedUInt32(syncVarDirtyBits); flag = true; } writer.WritePackedUInt32((uint)m_totalPlayerDamageReceived); } if (((int)syncVarDirtyBits & 8192) != 0) { if (!flag) { writer.WritePackedUInt32(syncVarDirtyBits); flag = true; } writer.WritePackedUInt32((uint)m_totalPlayerHealingReceived); } if (((int)syncVarDirtyBits & 16384) != 0) { if (!flag) { writer.WritePackedUInt32(syncVarDirtyBits); flag = true; } writer.WritePackedUInt32((uint)m_totalPlayerAbsorbReceived); } if (((int)syncVarDirtyBits & 32768) != 0) { if (!flag) { writer.WritePackedUInt32(syncVarDirtyBits); flag = true; } writer.Write(m_totalPlayerLockInTime); } if (((int)syncVarDirtyBits & 65536) != 0) { if (!flag) { writer.WritePackedUInt32(syncVarDirtyBits); flag = true; } writer.WritePackedUInt32((uint)m_totalPlayerTurns); } if (((int)syncVarDirtyBits & 131072) != 0) { if (!flag) { writer.WritePackedUInt32(syncVarDirtyBits); flag = true; } writer.WritePackedUInt32((uint)m_damageDodgedByEvades); } if (((int)syncVarDirtyBits & 262144) != 0) { if (!flag) { writer.WritePackedUInt32(syncVarDirtyBits); flag = true; } writer.WritePackedUInt32((uint)m_damageInterceptedByEvades); } if (((int)syncVarDirtyBits & 524288) != 0) { if (!flag) { writer.WritePackedUInt32(syncVarDirtyBits); flag = true; } writer.WritePackedUInt32((uint)m_myIncomingDamageReducedByCover); } if (((int)syncVarDirtyBits & 1048576) != 0) { if (!flag) { writer.WritePackedUInt32(syncVarDirtyBits); flag = true; } writer.WritePackedUInt32((uint)m_myOutgoingDamageReducedByCover); } if (((int)syncVarDirtyBits & 2097152) != 0) { if (!flag) { writer.WritePackedUInt32(syncVarDirtyBits); flag = true; } writer.WritePackedUInt32((uint)m_myIncomingOverkillDamageTaken); } if (((int)syncVarDirtyBits & 4194304) != 0) { if (!flag) { writer.WritePackedUInt32(syncVarDirtyBits); flag = true; } writer.WritePackedUInt32((uint)m_myOutgoingOverkillDamageDealt); } if (((int)syncVarDirtyBits & 8388608) != 0) { if (!flag) { writer.WritePackedUInt32(syncVarDirtyBits); flag = true; } writer.WritePackedUInt32((uint)m_myOutgoingExtraDamageFromEmpowered); } if (((int)syncVarDirtyBits & 16777216) != 0) { if (!flag) { writer.WritePackedUInt32(syncVarDirtyBits); flag = true; } writer.WritePackedUInt32((uint)m_myOutgoingDamageReducedFromWeakened); } if (((int)syncVarDirtyBits & 33554432) != 0) { if (!flag) { writer.WritePackedUInt32(syncVarDirtyBits); flag = true; } writer.WritePackedUInt32((uint)m_teamOutgoingDamageIncreasedByEmpoweredFromMe); } if (((int)syncVarDirtyBits & 67108864) != 0) { if (!flag) { writer.WritePackedUInt32(syncVarDirtyBits); flag = true; } writer.WritePackedUInt32((uint)m_teamIncomingDamageReducedByWeakenedFromMe); } if (((int)syncVarDirtyBits & 134217728) != 0) { if (!flag) { writer.WritePackedUInt32(syncVarDirtyBits); flag = true; } writer.WritePackedUInt32((uint)m_teamExtraEnergyGainFromMe); } if (((int)syncVarDirtyBits & 268435456) != 0) { if (!flag) { writer.WritePackedUInt32(syncVarDirtyBits); flag = true; } writer.Write(m_movementDeniedByMe); } if (((int)syncVarDirtyBits & 536870912) != 0) { if (!flag) { writer.WritePackedUInt32(syncVarDirtyBits); flag = true; } writer.WritePackedUInt32((uint)m_totalEnemySighted); } if (!flag) { writer.WritePackedUInt32(syncVarDirtyBits); } return(flag); }
public void InitTeammates() { teammates = new SyncListUInt(); }