Exemplo n.º 1
0
 /// <summary>
 /// Sends an object to the target peer with the requested reliability and priority levels.
 /// </summary>
 /// <typeparam name="TData">The type of object to send.</typeparam>
 /// <param name="peer">The target peer.</param>
 /// <param name="route">The target route on the scene peer.</param>
 /// <param name="data">The data that will be serialized then sent.</param>
 /// <param name="priority">The priority level.</param>
 /// <param name="reliability">The reliability level.</param>
 public static void Send <TData>(this IScenePeer peer, string route, TData data, PacketPriority priority = PacketPriority.HIGH_PRIORITY, PacketReliability reliability = PacketReliability.RELIABLE_ORDERED)
 {
     peer.Send(route, s =>
     {
         peer.Serializer().Serialize(data, s);
     }, priority, reliability);
 }
 private Task OnConnected(IScenePeer peer)
 {
     long id = peer.Id;
     _scene.Broadcast("id", id);
     peer.Send("ids", _clients.Keys);
     _clients.AddOrUpdate(id, peer, (key, oldValue) => peer);
     return Task.FromResult(true);
 }
Exemplo n.º 3
0
        private Task OnConnected(IScenePeer peer)
        {
            long id = peer.Id;

            _scene.Broadcast("id", id);
            peer.Send("ids", _clients.Keys);
            _clients.AddOrUpdate(id, peer, (key, oldValue) => peer);
            return(Task.FromResult(true));
        }
Exemplo n.º 4
0
 public static ISerializer Serializer(this IScenePeer c)
 {
     return(c.GetComponent <ISerializer>());
 }
 private CancellationToken GetCancellationTokenForScene(IScenePeer peer)
 {
     return(_sceneCts.GetOrAdd($"{peer.SceneId}/{peer.ShardId}", _ => new CancellationTokenSource()).Token);
 }