Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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 }));
        }
Exemplo n.º 3
0
        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); });
        }
Exemplo n.º 4
0
 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);
     }
 }
Exemplo n.º 5
0
        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);
        }
Exemplo n.º 6
0
 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();
     }
 }
Exemplo n.º 7
0
        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);
        }
Exemplo n.º 8
0
 public void InitTeammates()
 {
     teammates = new SyncListUInt();
 }