unity3d 如何检查是否运行不协调?

e5njpo68  于 2022-12-04  发布在  其他
关注(0)|答案(2)|浏览(170)

我试图在我的游戏中添加不和谐丰富的存在(使用Unity 2022.1,在Windows 10上),但正如许多人可能知道的那样,当不和谐没有打开时,试图使用丰富的存在会导致游戏/编辑器崩溃并打开不和谐。
我的解决方法是使用**System.Diagnostics.Process.GetProcesses()**检查discord是否打开并运行(通过检查每个返回值并查看它们是否等于“System.Diagnostics.Process(Discord)”)
问题是,当在编辑器内(在Windows上)时,它工作正常,但在编辑器外,仍然在Windows上,它似乎不工作,我不知道为什么。(我已经在没有检查的情况下进行了测试,discord的丰富存在似乎不是问题的原因)
我该如何解决这个问题?有没有其他方法来检查是否正在运行discord?

eqqqjvef

eqqqjvef1#

我认为它解决了这个问题。你应该检查不和谐名单的过程。

if (Process.GetProcessesByName("Discord").Length > 0)
{
    Debug.Log("Discord is Running..");
}
else
{
    Debug.Log("Discord doesn't Running...");
}
w1e3prcc

w1e3prcc2#

可能有点晚了,但还是...
Discord Game SDK要求在类构造函数中使用标准标志时客户端正在运行。若要删除此依赖项,可以使用Discord.CreateFlags.NoRequireDiscord而不是Discord.CreateFlags.Default
不要忘记检查NullRef,因为如果客户端没有运行,而您尝试调用构造函数,则不会得到任何结果。
找到Discord进程还有另一个答案...结合我的答案,如果客户端没有运行,您可以简单地不启用Discord Rich Presence,因为有一个陷阱:我在库中的ctor语句(这是一个CIL语言语句)上的某个地方遇到了异常。
因此,最好立即检查操作系统进程中是否有正在运行的客户端,如果没有,就不要初始化库。
有关详细信息,请在此处仔细查看:
https://discord.com/developers/docs/game-sdk/discord#discord

相关问题