void BindHostMethodEndPoints(EndPointMap map) { map.AddAskEndpoint <RemoteElementQuery, RemoteUiElement>((c, m) => Query(m).Result, "Query"); map.AddSendEndpoint <bool>((c, m) => Shutdown(m), "Shutdown"); map.AddSendEndpoint <Single>((c, m) => SetTimeScale(m), "SetTimeScale"); map.AddSendEndpoint <RemoteUiElement>((c, m) => LeftClick(m), "LeftClick"); map.AddSendEndpoint <RemoteUiElement>((c, m) => LeftClickDown(m), "LeftClickDown"); map.AddSendEndpoint <RemoteUiElement>((c, m) => LeftClickUp(m), "LeftClickUp"); }
public void Bind(HostCore connection, IRemoteUnityDriver service, EndPointMap endPoints) { _connection = connection; _service = service; BindClientCallbacks(); BindHostMethodEndPoints(endPoints); }
static void Main(string[] args) { var endPointMap = new EndPointMap(new JsonSerializer()); endPointMap.AddSendEndPoint <LogDTO>(Log); endPointMap.AddAskEndPoint <long, long>(Ping); var server = new HostCore(endPointMap); server.Start(); Console.WriteLine("Server Started."); TestBroadcast(server); }
public void Initialize <TService>( ISerializer serializer, params TService[] services ) where TService : class { var endPointMap = new EndPointMap(serializer); var replyProcessor = GetComponent <MainThreadReplyProcessor>(); _host = new HostCore(endPointMap, replyProcessor); _host.OnConnected += (c) => _connections.Enqueue(c); _host.OnDisconnected += (c) => _disconnections.Enqueue(c); _host.OnStarted += () => Started = true; foreach (TService service in services) { _host.Bind(service); } _host.Start(); }
public HostCore(EndPointMap endPoints) { _endPoints = endPoints; }