aboutsummaryrefslogtreecommitdiff
path: root/src/Ryujinx.Ui.Common/DiscordIntegrationModule.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Ryujinx.Ui.Common/DiscordIntegrationModule.cs')
-rw-r--r--src/Ryujinx.Ui.Common/DiscordIntegrationModule.cs98
1 files changed, 0 insertions, 98 deletions
diff --git a/src/Ryujinx.Ui.Common/DiscordIntegrationModule.cs b/src/Ryujinx.Ui.Common/DiscordIntegrationModule.cs
deleted file mode 100644
index edc634aa..00000000
--- a/src/Ryujinx.Ui.Common/DiscordIntegrationModule.cs
+++ /dev/null
@@ -1,98 +0,0 @@
-using DiscordRPC;
-using Ryujinx.Common;
-using Ryujinx.Ui.Common.Configuration;
-
-namespace Ryujinx.Ui.Common
-{
- public static class DiscordIntegrationModule
- {
- private const string Description = "A simple, experimental Nintendo Switch emulator.";
- private const string CliendId = "568815339807309834";
-
- private static DiscordRpcClient _discordClient;
- private static RichPresence _discordPresenceMain;
-
- public static void Initialize()
- {
- _discordPresenceMain = new RichPresence
- {
- Assets = new Assets
- {
- LargeImageKey = "ryujinx",
- LargeImageText = Description,
- },
- Details = "Main Menu",
- State = "Idling",
- Timestamps = Timestamps.Now,
- Buttons = new[]
- {
- new Button
- {
- Label = "Website",
- Url = "https://ryujinx.org/",
- },
- },
- };
-
- ConfigurationState.Instance.EnableDiscordIntegration.Event += Update;
- }
-
- private static void Update(object sender, ReactiveEventArgs<bool> evnt)
- {
- if (evnt.OldValue != evnt.NewValue)
- {
- // If the integration was active, disable it and unload everything
- if (evnt.OldValue)
- {
- _discordClient?.Dispose();
-
- _discordClient = null;
- }
-
- // If we need to activate it and the client isn't active, initialize it
- if (evnt.NewValue && _discordClient == null)
- {
- _discordClient = new DiscordRpcClient(CliendId);
-
- _discordClient.Initialize();
- _discordClient.SetPresence(_discordPresenceMain);
- }
- }
- }
-
- public static void SwitchToPlayingState(string titleId, string titleName)
- {
- _discordClient?.SetPresence(new RichPresence
- {
- Assets = new Assets
- {
- LargeImageKey = "game",
- LargeImageText = titleName,
- SmallImageKey = "ryujinx",
- SmallImageText = Description,
- },
- Details = $"Playing {titleName}",
- State = (titleId == "0000000000000000") ? "Homebrew" : titleId.ToUpper(),
- Timestamps = Timestamps.Now,
- Buttons = new[]
- {
- new Button
- {
- Label = "Website",
- Url = "https://ryujinx.org/",
- },
- },
- });
- }
-
- public static void SwitchToMainMenu()
- {
- _discordClient?.SetPresence(_discordPresenceMain);
- }
-
- public static void Exit()
- {
- _discordClient?.Dispose();
- }
- }
-}