Wie zeigt man Trophäen des Gegners mit Photon an?
Ich habe ein Multiplayer-Spiel mit Photon in der Unity Game Engine gemacht. Doch eine kleine Frage habe ich noch:
Das Spiel ist etwa so aufgebaut, dass man in eine Lobby mit einen Gegner kommt, der ungefähr die gleichen Trophäenanzahl wie man selber hat. Für die Trophäen habe ich einen einfachen Integer im WonControllerScript zubereitet.
Im Matchmaker-Skript habe ich das hier stehen:
public void StartMatchmaking()
{
playerTrophies = wonController.trophy;
PhotonNetwork.NickName = userManager.nickName;
PhotonNetwork.JoinRandomRoom(); // Suche nach einem Raum mit maximal 2 Spielern
}
public override void OnJoinRandomFailed(short returnCode, string message)
{
RoomOptions roomOptions = new RoomOptions();
roomOptions.MaxPlayers = 2;
// Überprüfe, ob der SpielerTrophies-Wert korrekt initialisiert wurde
if (playerTrophies >= 0)
{
// Benutzerdefinierte Raum-Eigenschaften für die Lobby setzen
roomOptions.CustomRoomPropertiesForLobby = new string[] { "Trophies" };
// Benutzerdefinierte Raum-Eigenschaften festlegen
ExitGames.Client.Photon.Hashtable customRoomProperties = new ExitGames.Client.Photon.Hashtable();
customRoomProperties.Add("Trophies", playerTrophies);
roomOptions.CustomRoomProperties = customRoomProperties;
}
PhotonNetwork.CreateRoom(null, roomOptions, TypedLobby.Default);
}
Jetzt möchte ich, dass zwei Texte einmal den eigenen Trophäenwert anzeigen und zum anderen (der zweite Text) den Trophäenwert des Gegners anzeigt. Wie geht das?
1 Antwort
Du musst die Raum-Eigenschaften des Gegners checken.
Ruf UpdateOpponentTrophies() auf, wenn ein Spieler dem Raum beitritt. Du kannst das in public override void OnPlayerEnteredRoom(Photon.Realtime.Player newPlayer) machen, wenn du das Photon Callback nutzt.
Damit solltest du den Text für beide Spieler setzen können.