Answers:
在XNA中,有一个SignedInGamer
带有SignedInGamer.PlayerIndex
成员的类,该类应该告诉您是否可以持有该SignedInGamer
对象。
为此,有一个Gamer.SignedInGamers
静态属性,其中包含一个SignedInGamer
基于系统当前状态的对象集合。这来自Microsoft.Xna.Framework.GamerServices
命名空间。
利用此信息,您可以执行以下操作:
//If player 2 is connected
if (GamePad.GetState(PlayerIndex.Two).IsConnected)
{
//If we can't find a signed in gamer with a PlayerIndex of two
if (!Gamer.SignedInGamers.Cast<SignedInGamer>().Any(x => x.PlayerIndex == PlayerIndex.Two))
{
//Your handling code here
}
}