Example #1
0
 private void Sync()
 {
     for (int i = 0; i < NetworkSyncComponents.Length; i++)
     {
         NetworkSyncComponent c = NetworkSyncComponents[i];
         if (c.NeedSendSyncData())
         {
             OutgoingMessage mes = scene.networkService.CreateServerMessage();
             mes.Write(NetworkedScene.SYNC);
             mes.Write(c.Owner.Name);
             mes.Write(c.GetType().ToString());
             c.WriteSyncData(mes);
             scene.networkService.SendToClients(mes, DeliveryMethod.ReliableOrdered);
             Trace.WriteLine("sending to clients: " + c.Owner.Name);
         }
     }
 }
Example #2
0
        private void Synchro(object sender, IncomingMessage receivedMessage)
        {
            string entName = receivedMessage.ReadString();
            string cName   = receivedMessage.ReadString();
            Entity ent     = networkedScene.EntityManager.Find(entName);

            if (ent != null && !ent.IsDisposed)
            {
                NetworkSyncComponent[] comps = ent.FindComponents <NetworkSyncComponent>(false);

                for (int i = 0; i < comps.Length; i++)
                {
                    NetworkSyncComponent comp = comps[i];
                    Trace.WriteLine(comp.GetType().ToString());
                    if (comp.GetType().ToString() == cName)
                    {
                        comp.ReadSyncData(receivedMessage);
                        break;
                    }
                }
            }
        }