У 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
}
}