public Task Init(SurveillanceApp app)
        {
            _app = app;

            new Thread(Run)
            {
                Name             = "UI",
                IsBackground     = true,
                CurrentCulture   = CultureInfo.InvariantCulture,
                CurrentUICulture = CultureInfo.InvariantCulture
            }.Start();

            return(Task.CompletedTask);
        }
        public Task Init(SurveillanceApp app)
        {
            _discord = new DiscordGameSDK.Discord(ClientId, (ulong)CreateFlags.NoRequireDiscord);

            var completionSource = new TaskCompletionSource <bool>();
            var userManager      = _discord.GetUserManager();

            void HandleUserUpdate()
            {
                userManager.OnCurrentUserUpdate -= HandleUserUpdate;
                completionSource.SetResult(true);
            }

            userManager.OnCurrentUserUpdate += HandleUserUpdate;
            return(completionSource.Task);
        }
Beispiel #3
0
        private static void Main(string[] args)
        {
            if (Environment.GetEnvironmentVariable(SteamId) == null)
            {
                if (!SteamClient.IsLaunched)
                {
                    throw new InvalidOperationException("Steam is not running");
                }
                if (!SteamClient.IsConnected)
                {
                    throw new InvalidOperationException("Steam is not connected");
                }
                if (!SteamClient.IsGame(SurveillanceApp.DeadByDaylightAppId, SteamClient.AppState.Installed))
                {
                    throw new InvalidOperationException("Dead by Daylight is not installed");
                }

                var activeUser = SteamClient.ActiveUser;
                Environment.SetEnvironmentVariable(SteamId, activeUser.ToString(NumberFormatInfo.InvariantInfo));
            }

            if (Environment.GetEnvironmentVariable("STEAM_KEY") == null)
            {
                if (args.Length < 1)
                {
                    throw new ArgumentOutOfRangeException(nameof(args), "Missing STEAM_KEY argument");
                }
                Environment.SetEnvironmentVariable("STEAM_KEY", args[0]);
            }

            var app = new SurveillanceApp(
                new IRichPresence[]
            {
                new TrayRichPresence(),
                new DiscordRichPresence(),
            }
                );

            app.Run();
        }