回答:
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
}
}