fix not being able to be disable discord RPC

This commit is contained in:
csd4ni3l
2025-04-23 10:07:45 +02:00
parent bffada58a0
commit ccef4b7a8e

View File

@@ -1,4 +1,4 @@
import arcade, arcade.gui, asyncio, pypresence, time, json
import arcade, arcade.gui, asyncio, pypresence, time, json, copy
from utils.preload import button_texture, button_hovered_texture, theme_sound
from utils.constants import button_style
from utils.utils import FakePyPresence
@@ -12,6 +12,10 @@ class Main(arcade.gui.UIView):
self.pypresence_client = pypresence_client
with open("settings.json", "r") as file:
self.settings_dict = json.load(file)
if self.settings_dict.get('discord_rpc', True):
if self.pypresence_client == None: # Game has started
try:
asyncio.get_event_loop()
@@ -25,7 +29,7 @@ class Main(arcade.gui.UIView):
self.pypresence_client = FakePyPresence()
self.pypresence_client.start_time = time.time()
elif isinstance(self.pypresence_client, FakePyPresence):
elif isinstance(self.pypresence_client, FakePyPresence): # the user has enabled RPC in the settings in this session.
# get start time from old object
start_time = copy.deepcopy(self.pypresence_client.start_time)
try:
@@ -36,6 +40,12 @@ class Main(arcade.gui.UIView):
self.pypresence_client = FakePyPresence()
self.pypresence_client.start_time = start_time
self.pypresence_client.update(state='In Menu',
details=f'In Main Menu', start=self.pypresence_client.start_time)
else: # game has started, but the user has disabled RPC in the settings.
self.pypresence_client = FakePyPresence()
self.pypresence_client.start_time = time.time()
self.pypresence_client.update(state='In Menu', details='In Main Menu', start=self.pypresence_client.start_time)
def on_show_view(self):