mirror of
https://github.com/space-wizards/RobustToolbox.git
synced 2026-02-14 19:29:36 +01:00
Configurable Discord Rich Presence icons and some localization (#4174)
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
discord-rpc-in-main-menu = In Main Menu
|
||||
discord-rpc-in-main-menu-logo-text = I think coolsville SUCKS
|
||||
discord-rpc-character = Username: {$username}
|
||||
discord-rpc-on-server = On Server: {$servername}
|
||||
discord-rpc-players = Players: {$players}/{$maxplayers}
|
||||
discord-rpc-players = Players: {$players}/{$maxplayers}
|
||||
|
||||
@@ -27,13 +27,17 @@ namespace Robust.Client.Utility
|
||||
|
||||
public void Initialize()
|
||||
{
|
||||
var state = _loc.GetString("discord-rpc-in-main-menu");
|
||||
var largeImageKey = _configurationManager.GetCVar(CVars.DiscordRichPresenceSecondIconId);
|
||||
var largeImageText = _loc.GetString("discord-rpc-in-main-menu-logo-text");
|
||||
|
||||
_defaultPresence = new()
|
||||
{
|
||||
State = _loc.GetString("discord-rpc-in-main-menu"),
|
||||
State = Truncate(state, 128),
|
||||
Assets = new Assets
|
||||
{
|
||||
LargeImageKey = "logo",
|
||||
LargeImageText = "I think coolsville SUCKS"
|
||||
LargeImageKey = Truncate(largeImageKey, 32),
|
||||
LargeImageText = Truncate(largeImageText, 128),
|
||||
}
|
||||
};
|
||||
_configurationManager.OnValueChanged(CVars.DiscordEnabled, newValue =>
|
||||
@@ -104,7 +108,9 @@ namespace Robust.Client.Utility
|
||||
{
|
||||
var details = _loc.GetString("discord-rpc-on-server", ("servername", serverName));
|
||||
var state = _loc.GetString("discord-rpc-players", ("players", users), ("maxplayers", maxUsers));
|
||||
var imageText = _loc.GetString("discord-rpc-character", ("username", username));
|
||||
var largeImageText = _loc.GetString("discord-rpc-character", ("username", username));
|
||||
var largeImageKey = _configurationManager.GetCVar(CVars.DiscordRichPresenceMainIconId);
|
||||
var smallImageKey = _configurationManager.GetCVar(CVars.DiscordRichPresenceSecondIconId);
|
||||
|
||||
// Strings are limited by byte count. See the setters in RichPresence. Hence the truncate calls.
|
||||
_activePresence = new RichPresence
|
||||
@@ -113,9 +119,9 @@ namespace Robust.Client.Utility
|
||||
State = Truncate(state, 128),
|
||||
Assets = new Assets
|
||||
{
|
||||
LargeImageKey = Truncate("devstation", 32),
|
||||
LargeImageText = Truncate(imageText, 128),
|
||||
SmallImageKey = Truncate("logo", 32)
|
||||
LargeImageKey = Truncate(largeImageKey, 32),
|
||||
LargeImageText = Truncate(largeImageText, 128),
|
||||
SmallImageKey = Truncate(smallImageKey, 32)
|
||||
}
|
||||
};
|
||||
_client.SetPresence(_activePresence);
|
||||
|
||||
@@ -1188,6 +1188,12 @@ namespace Robust.Shared
|
||||
public static readonly CVarDef<bool> DiscordEnabled =
|
||||
CVarDef.Create("discord.enabled", true, CVar.CLIENTONLY);
|
||||
|
||||
public static readonly CVarDef<string> DiscordRichPresenceMainIconId =
|
||||
CVarDef.Create("discord.rich_main_icon_id", "devstation", CVar.CLIENTONLY);
|
||||
|
||||
public static readonly CVarDef<string> DiscordRichPresenceSecondIconId =
|
||||
CVarDef.Create("discord.rich_second_icon_id", "logo", CVar.CLIENTONLY);
|
||||
|
||||
/*
|
||||
* RES
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user