Bagaimana cara mengetahui apakah pemain sudah masuk?

11

Saya bertanya-tanya apakah ada cara untuk mengetahui apakah "pemain" masuk atau tidak?

Sesuatu seperti ini:

if (GamePad.GetState(PlayerIndex.Two).IsConnected && !Gamer.PlayerTwo.IsSignedIn)

Sehingga pengontrol terhubung dan dapat digunakan, tetapi pemain tidak masuk ke akun. Sesuatu seperti tebakan.

Rotary Heart
sumber

Jawaban:

11

Di XNA ada SignedInGamerkelas dengan SignedInGamer.PlayerIndexanggota yang harus memberi tahu Anda hanya jika Anda bisa mendapatkan SignedInGamerobjek.

Untuk melakukan itu, ada Gamer.SignedInGamersproperti statis yang berisi kumpulan SignedInGamerobjek berdasarkan kondisi sistem saat ini. Ini dari Microsoft.Xna.Framework.GamerServicesnamespace.

Dengan informasi ini Anda dapat melakukan sesuatu seperti berikut:

//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
    }
}
Spartan Donut
sumber