Esempio n. 1
0
 public T FindEmulator <T>(DeviceTypes deviceType, Emulators emulator) where T : IEmulator
 {
     return(emulators
            .Where(e => e.Emulator == emulator)
            .Where(e => e.SupportedDeviceTypes.Contains(deviceType))
            .OfType <T>()
            .First());
 }
Esempio n. 2
0
        public IMessageHandler CreateHandler(HttpContext context, CloseFunction closeFunction, SenderFunction sendFunction)
        {
            string    emulatorName = PathRegex.Match(context.Request.Path.Value).Groups[1].Value;
            Emulators emulatorType = Enum.Parse <Emulators>(emulatorName);
            var       emulator     = emulatorService.FindEmulator <IDs4Emulator>(DeviceTypes.SonyDualShock4, emulatorType);
            var       device       = emulator.CreateDs4Device();
            DeviceDisconnectedEventHandler disconnectedEvent = (sender, args) => closeFunction();

            device.Closed += disconnectedEvent;
            var ip = context.Request.HttpContext.Connection.RemoteIpAddress?.ToString();

            emulatedControllersService.Add(new NetworkDeviceInfo
            {
                Device     = device,
                IPAddress  = ip,
                DeviceType = DeviceTypes.SonyDualShock4,
                Emulator   = emulator.Emulator,
            });
            return(new Ds4InputRequestHandler(closeFunction, sendFunction, device, emulatedControllersService, disconnectedEvent));
        }
Esempio n. 3
0
 public async Task ConnectAsync(Emulators emulator)
 {
     await base.ConnectAsync($"{DeviceTypes.MicrosoftXbox360.ToString()}/{emulator.ToString()}");
 }
 public static void Log(Emulators.CDKeyServerClientEmulator Emulator,MessageType MsgType, string Message)
 {
     Log(ClientEmulatorLogMessage.NewMessage(
         ClientEmulatorType.CDKeyServerClient, Emulator.InstanceId, MsgType, Message
         ));
 }
Esempio n. 5
0
 public void CancelEdit()
 {
     SelectedEmulator = Emulators.FirstOrDefault(emulator => emulator.Id == SelectedEmulatorGuid);
     TimeoutText      = Timeout.ToString();
 }