C# Appwarp:随机玩家配对问题
我正在为windows phone游戏设置多人配对功能,使用。我遵循了以下文档:并成功地设置了“按ID查找朋友”函数,但遇到了与随机对手配对的问题 我正在创建一个字典,如下所示:C# Appwarp:随机玩家配对问题,c#,network-programming,windows-phone,multiplayer,appwarp,C#,Network Programming,Windows Phone,Multiplayer,Appwarp,我正在为windows phone游戏设置多人配对功能,使用。我遵循了以下文档:并成功地设置了“按ID查找朋友”函数,但遇到了与随机对手配对的问题 我正在创建一个字典,如下所示: public class Matchmake : Microsoft.Xna.Framework.Game { public static Dictionary<string, object> tableProperties = new Dictionary<string, object>
public class Matchmake : Microsoft.Xna.Framework.Game
{
public static Dictionary<string, object> tableProperties = new Dictionary<string, object>();
protected override void Initialize()
{
tableProperties.Add("IsPrivateRoom", "false");
}
}
在我的房间请求侦听器中,它会检查结果:
public void onJoinRoomDone(RoomEvent eventObj)
{
if (Matchmake.searchGame == true)
{
if (eventObj.getResult() == WarpResponseResultCode.SUCCESS)
{
if (Matchmake.hostingRandomGame == false)
{
Matchmake.UIstate = 7;
Matchmake.idRef = eventObj.getData().getId();
}
Matchmake.warpClient.SubscribeRoom(Matchmake.idRef);
}
else
{
Matchmake.warpClient.CreateRoom("CreatedRoom", Matchmake.localUsername, 2, Matchmake.tableProperties);
Matchmake.UIstate = 8;
}
}
在完成其余的代码和调试后,我可以看到房间是从Else代码为player1创建的,他们已经订阅并获得实时更新。但是,当player2在另一部手机上执行相同的代码时,它在通过字典查找房间后并没有得到成功的结果,而是通过执行Else代码来创建一个新游戏。这也不是由hostingRandomGame bool引起的。
有人有什么想法吗?任何帮助都将不胜感激,我在API文档中找不到解决方案,我在这方面已经走到了死胡同。
-XDev从第一个客户加入房间后-您是否有机会更新房间的属性?你在谢泼茨博客上看到的弹射器战争样本也有同样的问题吗?嗨@dhruv,这正是问题所在!我错过了更新房间属性的电话。所以现在当第一个玩家订阅后,我用UpdateRoomProperty更新房间,它工作得非常好。谢谢你的帮助!
public void onJoinRoomDone(RoomEvent eventObj)
{
if (Matchmake.searchGame == true)
{
if (eventObj.getResult() == WarpResponseResultCode.SUCCESS)
{
if (Matchmake.hostingRandomGame == false)
{
Matchmake.UIstate = 7;
Matchmake.idRef = eventObj.getData().getId();
}
Matchmake.warpClient.SubscribeRoom(Matchmake.idRef);
}
else
{
Matchmake.warpClient.CreateRoom("CreatedRoom", Matchmake.localUsername, 2, Matchmake.tableProperties);
Matchmake.UIstate = 8;
}
}