public override IEnumerator OnReceive(Session session, Gamnet.Packet packet) { Bar bar = session.bar; Room room = session.room; { Packet.MsgCliSvr_SyncBar_Ntf ntf = packet.Deserialize <Packet.MsgCliSvr_SyncBar_Ntf>(); bar.destination = ntf.destination; } { Packet.MsgSvrCli_SyncBar_Ntf ntf = new Packet.MsgSvrCli_SyncBar_Ntf(); ntf.objectId = bar.id; ntf.destination = bar.destination; foreach (Session s in room.sessions) { if (session == s) { continue; } s.Send(ntf); } } yield break; }
public void OnRecv_SyncBar_Ntf(Packet.MsgSvrCli_SyncBar_Ntf ntf) { StartCoroutine(PacketDelay((float)Network.NetworkDelay / 1000, () => { GameObject go; if (false == objects.TryGetValue(ntf.objectId, out go)) { return; } Bar bar = go.GetComponent <Bar>(); bar.destination = ntf.destination; })); }