public virtual int RunVoiceTask(IVoiceServer <TClient> server)
        {
            var clientPositions = server.GetClients().Select(client => client.MakeClientPosition());

            server.SetPlayerPositions(clientPositions);

            return(_sleepTime);
        }
예제 #2
0
        /// <summary>
        /// Отслежевание позиций игроков
        /// </summary>
        public int RunVoiceTask(IVoiceServer <IGtmpVoiceClient> server)
        {
            var playersPositions = server.GetClients().Select(player =>
                                                              player.Player.vehicle == null
                    ? player.MakeClientPosition()
                    : player.MakeClientPosition(player.Player.vehicle.position, player.CameraRotation)
                                                              );

            server.SetPlayerPositions(playersPositions);
            return(_sleepTime);
        }
        protected VoiceClient(IVoiceServer <TClient> server, VoiceHandle handle)
        {
            Server = server;
            Handle = handle;

            Speakers   = true;
            Microphone = true;

            var config = Server.Configuration;

            HandshakeUrl = $"http://localhost:23333/?host={config.Hostname}&port={config.Port}&uid={Handle.Identifer}";

            AttachToStatusChangeEvents();
        }
        public virtual int RunVoiceTask(IVoiceServer <IGtmpVoiceClient> server)
        {
            var clientPositions = server.GetClients().Select(client =>
            {
                if (client.Player.vehicle == null)
                {
                    return(client.MakeClientPosition());
                }
                else
                {
                    return(client.MakeClientPosition(client.Player.vehicle.position, client.CameraRotation));
                }
            });

            server.SetPlayerPositions(clientPositions);

            return(_sleepTime);
        }
예제 #5
0
 public DummyClient(IVoiceServer <DummyClient> server, VoiceHandle handle) : base(server, handle)
 {
 }
 public IFakeVoiceClient MakeClient(byte identifier, IVoiceServer <IFakeVoiceClient> server, VoiceHandle handle)
 {
     return(new FakeVoiceClient(identifier, server, handle));
 }
 public FakeVoiceClient(byte identifer, IVoiceServer <IFakeVoiceClient> server, VoiceHandle handle) : base(server, handle)
 {
     Identifer = identifer;
 }
 public IGtmpVoiceClient MakeClient(Client player, IVoiceServer <IGtmpVoiceClient> server, VoiceHandle handle)
 {
     return(new GtmpVoiceClient(player, (GtmpVoiceServer)server, handle));
 }
예제 #9
0
 internal VoiceTaskExecutor(IVoiceTask <TClient> voiceTask, IVoiceServer <TClient> voiceServer)
 {
     _voiceTask   = voiceTask;
     _voiceServer = voiceServer;
 }
 public DummyClient MakeClient(byte identifer, IVoiceServer <DummyClient> server, VoiceHandle handle)
 {
     return(new DummyClient(server, handle));
 }