protected DesktopGameHost(string gameName = @"", bool bindIPCPort = false, ToolkitOptions toolkitOptions = default) : base(gameName, toolkitOptions) { //todo: yeah. Architecture.SetIncludePath(); if (bindIPCPort) { ipcProvider = new TcpIpcProvider(); IsPrimaryInstance = ipcProvider.Bind(); if (IsPrimaryInstance) { ipcProvider.MessageReceived += OnMessageReceived; ipcThread = new Thread(() => ipcProvider.StartAsync().Wait()) { Name = "IPC", IsBackground = true }; ipcThread.Start(); } } Logger.Storage = Storage.GetStorageForDirectory("logs"); }
protected DesktopGameHost(string gameName = @"", bool bindIPCPort = false) : base(gameName) { //todo: yeah. Architecture.SetIncludePath(); foreach (string a in Environment.GetCommandLineArgs()) { switch (a) { case @"--reload-on-change": ensureShadowCopy(); break; } } if (bindIPCPort) { ipcProvider = new TcpIpcProvider(); IsPrimaryInstance = ipcProvider.Bind(); if (IsPrimaryInstance) { ipcProvider.MessageReceived += OnMessageReceived; ipcTask = Task.Factory.StartNew(ipcProvider.StartAsync, TaskCreationOptions.LongRunning); } } Logger.Storage = Storage.GetStorageForDirectory("logs"); }
private void ensureIPCReady() { if (!bindIPCPort) { return; } if (ipcProvider != null) { return; } ipcProvider = new TcpIpcProvider(); IsPrimaryInstance = ipcProvider.Bind(); if (IsPrimaryInstance) { ipcProvider.MessageReceived += OnMessageReceived; ipcThread = new Thread(() => ipcProvider.StartAsync().Wait()) { Name = "IPC", IsBackground = true }; ipcThread.Start(); } }
private void ensureIPCReady() { if (!bindIPCPort) { return; } if (ipcProvider != null) { return; } ipcProvider = new TcpIpcProvider(IPC_PORT); ipcProvider.MessageReceived += OnMessageReceived; IsPrimaryInstance = ipcProvider.Bind(); }
private void startIPC() { Debug.Assert(ipcProvider == null); ipcProvider = new TcpIpcProvider(); IsPrimaryInstance = ipcProvider.Bind(); if (IsPrimaryInstance) { ipcProvider.MessageReceived += OnMessageReceived; ipcThread = new Thread(() => ipcProvider.StartAsync().Wait()) { Name = "IPC", IsBackground = true }; ipcThread.Start(); } }
protected DesktopGameHost(string gameName = @"", bool bindIPCPort = false) : base(gameName) { //todo: yeah. Architecture.SetIncludePath(); foreach (string a in Environment.GetCommandLineArgs()) { switch (a) { case @"--reload-on-change": ensureShadowCopy(); break; } } if (bindIPCPort) { ipcProvider = new TcpIpcProvider(); IsPrimaryInstance = ipcProvider.Bind(); if (IsPrimaryInstance) { ipcProvider.MessageReceived += OnMessageReceived; ipcThread = new Thread(() => ipcProvider.StartAsync().Wait()) { Name = "IPC", IsBackground = true }; ipcThread.Start(); } } Logger.Storage = Storage.GetStorageForDirectory("logs"); }