我正在使用Appwarp api进行多人游戏。我在拨打Invoke("recoverConnection", 5)
时收到错误。
public void onConnectDone(ConnectEvent eventObj)
{
Log ("onConnectDone : " + eventObj.getResult ());
if (eventObj.getResult () == 0)
{
recoveryErrorCode = 0;
WarpClient.GetInstance ().JoinRoomInRange (0, 5, true);
}
else if (eventObj.getResult () == 9)
{
this.Invoke("recoverConnection", 5);
}
else if (eventObj.getResult () == 8)
{
// reconnected
}
}
void recoverConnection()
{
WarpClient.GetInstance ().RecoverConnection ();
}
错误是:
只能从主线程调用Invoke。
加载场景时,将从加载线程执行构造函数和字段初始值设定项。
答案 0 :(得分:1)
在单独的线程上调用onConnectDone回调,因此需要在主线程上调用任何与UI相关的更改或调用功能。您可以使用任何插件,它可以帮助您从任何辅助线程调用主线程上的任何方法。 您可以查看此link。这将帮助您从主线程调用Invoke方法。
我希望这会对你有所帮助。