Ejemplo n.º 1
0
 public override void Serialize(NetworkWriter writer)
 {
     writer.Write((ushort)scripts.Length);
     CRCMessageEntry[] array = scripts;
     for (int i = 0; i < array.Length; i++)
     {
         CRCMessageEntry cRCMessageEntry = array[i];
         writer.Write(cRCMessageEntry.name);
         writer.Write(cRCMessageEntry.channel);
     }
 }
Ejemplo n.º 2
0
 private void Dump(CRCMessageEntry[] remoteScripts)
 {
     foreach (string key in m_Scripts.Keys)
     {
         Debug.Log("CRC Local Dump " + key + " : " + m_Scripts[key]);
     }
     for (int i = 0; i < remoteScripts.Length; i++)
     {
         CRCMessageEntry cRCMessageEntry = remoteScripts[i];
         Debug.Log("CRC Remote Dump " + cRCMessageEntry.name + " : " + cRCMessageEntry.channel);
     }
 }
Ejemplo n.º 3
0
        public override void Deserialize(NetworkReader reader)
        {
            int num = reader.ReadUInt16();

            scripts = new CRCMessageEntry[num];
            for (int i = 0; i < scripts.Length; i++)
            {
                CRCMessageEntry cRCMessageEntry = default(CRCMessageEntry);
                cRCMessageEntry.name    = reader.ReadString();
                cRCMessageEntry.channel = reader.ReadByte();
                scripts[i] = cRCMessageEntry;
            }
        }
Ejemplo n.º 4
0
 public override void Deserialize(NetworkReader reader)
 {
     scripts = new CRCMessageEntry[reader.ReadUInt16()];
     for (int index = 0; index < scripts.Length; ++index)
     {
         scripts[index] = new CRCMessageEntry
         {
             name    = reader.ReadString(),
             channel = reader.ReadByte()
         }
     }
     ;
 }
Ejemplo n.º 5
0
 private bool ValidateInternal(CRCMessageEntry[] remoteScripts, int numChannels)
 {
     if (m_Scripts.Count != remoteScripts.Length)
     {
         if (LogFilter.logWarn)
         {
             Debug.LogWarning("Network configuration mismatch detected. The number of networked scripts on the client does not match the number of networked scripts on the server. This could be caused by lazy loading of scripts on the client. This warning can be disabled by the checkbox in NetworkManager Script CRC Check.");
         }
         Dump(remoteScripts);
         return(false);
     }
     for (int i = 0; i < remoteScripts.Length; i++)
     {
         CRCMessageEntry cRCMessageEntry = remoteScripts[i];
         if (LogFilter.logDebug)
         {
             Debug.Log("Script: " + cRCMessageEntry.name + " Channel: " + cRCMessageEntry.channel);
         }
         if (m_Scripts.ContainsKey(cRCMessageEntry.name))
         {
             int num = m_Scripts[cRCMessageEntry.name];
             if (num != cRCMessageEntry.channel)
             {
                 if (LogFilter.logError)
                 {
                     Debug.LogError("HLAPI CRC Channel Mismatch. Script: " + cRCMessageEntry.name + " LocalChannel: " + num + " RemoteChannel: " + cRCMessageEntry.channel);
                 }
                 Dump(remoteScripts);
                 return(false);
             }
         }
         if (cRCMessageEntry.channel >= numChannels)
         {
             if (LogFilter.logError)
             {
                 Debug.LogError("HLAPI CRC channel out of range! Script: " + cRCMessageEntry.name + " Channel: " + cRCMessageEntry.channel);
             }
             Dump(remoteScripts);
             return(false);
         }
     }
     return(true);
 }
Ejemplo n.º 6
0
 private bool ValidateInternal(CRCMessageEntry[] remoteScripts, int numChannels)
 {
     if (m_Scripts.Count != remoteScripts.Length)
     {
         if (LogFilter.logError)
         {
             Debug.LogError("HLAPI CRC channel count error local: " + m_Scripts.Count + " remote: " + remoteScripts.Length);
         }
         Dump(remoteScripts);
         return(false);
     }
     for (int i = 0; i < remoteScripts.Length; i++)
     {
         CRCMessageEntry cRCMessageEntry = remoteScripts[i];
         if (LogFilter.logDebug)
         {
             Debug.Log("Script: " + cRCMessageEntry.name + " Channel: " + cRCMessageEntry.channel);
         }
         if (m_Scripts.ContainsKey(cRCMessageEntry.name))
         {
             int num = m_Scripts[cRCMessageEntry.name];
             if (num != cRCMessageEntry.channel)
             {
                 if (LogFilter.logError)
                 {
                     Debug.LogError("HLAPI CRC Channel Mismatch. Script: " + cRCMessageEntry.name + " LocalChannel: " + num + " RemoteChannel: " + cRCMessageEntry.channel);
                 }
                 Dump(remoteScripts);
                 return(false);
             }
         }
         if (cRCMessageEntry.channel >= numChannels)
         {
             if (LogFilter.logError)
             {
                 Debug.LogError("HLAPI CRC channel out of range! Script: " + cRCMessageEntry.name + " Channel: " + cRCMessageEntry.channel);
             }
             Dump(remoteScripts);
             return(false);
         }
     }
     return(true);
 }
Ejemplo n.º 7
0
 private void Dump(CRCMessageEntry[] remoteScripts)
 {
     foreach (string current in this.m_Scripts.Keys)
     {
         Debug.Log(string.Concat(new object[]
         {
             "CRC Local Dump ",
             current,
             " : ",
             this.m_Scripts[current]
         }));
     }
     for (int i = 0; i < remoteScripts.Length; i++)
     {
         CRCMessageEntry cRCMessageEntry = remoteScripts[i];
         Debug.Log(string.Concat(new object[]
         {
             "CRC Remote Dump ",
             cRCMessageEntry.name,
             " : ",
             cRCMessageEntry.channel
         }));
     }
 }