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); }
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(); }