Add NoRequireDiscord flag when initializing Discord GameSDK.

This commit is contained in:
2023-01-08 13:00:35 +08:00
parent 723ec937ad
commit a7baef2c9d

View File

@@ -1,6 +1,7 @@
using Discord;
using System;
using UnityEngine;
using Logger = Cryville.Common.Logger;
namespace Cryville.Crtr {
internal class DiscordController : MonoBehaviour {
@@ -16,22 +17,31 @@ namespace Cryville.Crtr {
void Start() {
Instance = this;
launchTime = (long)(DateTime.UtcNow - DateTime.UnixEpoch).TotalSeconds;
dc = new Discord.Discord(CLIENT_ID, (UInt64)CreateFlags.Default);
try {
dc = new Discord.Discord(CLIENT_ID, (UInt64)CreateFlags.NoRequireDiscord);
Logger.Log("main", 1, "Discord", "Connected to Discord");
am = dc.GetActivityManager();
SetIdle();
}
catch (ResultException) {
Logger.Log("main", 3, "Discord", "Cannot connect to Discord");
}
}
void Update() {
if (dc == null) return;
dc.RunCallbacks();
}
void OnApplicationQuit() {
if (dc == null) return;
dc.Dispose();
}
void Callback(Result result) { }
public void SetIdle() {
if (dc == null) return;
am.UpdateActivity(new Activity {
State = "Idle",
Instance = false,
@@ -40,6 +50,7 @@ namespace Cryville.Crtr {
}
public void SetPlaying(string detail, double? duration) {
if (dc == null) return;
long now = (long)(DateTime.UtcNow - DateTime.UnixEpoch).TotalSeconds;
am.UpdateActivity(new Activity {
State = "Playing a chart",