Example #1
0
        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");
        }
Example #3
0
        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();
            }
        }
Example #6
0
        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");
        }