我有一个关于 Debug.Log 如何在 Unity 中使用 SmartFoxServer 工作的问题。我正在写一个多人游戏。游戏将始终有四个玩家。由于 Unity/Visual Studio 的问题,我无法使用 Visual Studio 调试器(每次遇到断点时 Unity 都会崩溃)。所以,我使用 Debug.Log。
我的问题是:当我有四个客户端运行时(一个在 Unity 中,另外三个来自运行编译的构建)并且我运行了 Debug.Log 代码,它会为每个实例运行还是只为 Unity 实例运行?
仅供参考,当我进行构建时,我只是进行正常构建。我没有检查开发构建。当我从服务器收到响应时,我看到了奇怪的行为。有时,Debug.Log 会打印 4 次,有时只打印一次。我可以调试我的 Java 扩展并且断点只被命中一次。
这是一些示例 Unity C# 代码:
public void OnExtensionResponse(BaseEvent evt) {
string cmd = (string)evt.Params["cmd"];
SFSObject dataObject = (SFSObject)evt.Params["params"];
Debug.Log("Got response from server: " + cmd + " " + dataObject.GetUtfString("gameStatus"));
switch ( cmd ) {
}
有时,上面的 Debug.Log 代码会被调用一次,有时会被调用 2 次或 5 次。根据 Logging 的工作方式,我预计 1 次(它仅针对运行的 Unity 版本进行调试)或 4 次(每个运行的游戏实例一次)。
谢谢