Прав ли я, говоря, что у каждого игрока есть свой игрок? и что я могу получить доступ к их сохраненным значениям через Player в списке игроков. (пожалуйста, пролите свет / помощь) Большое вам спасибо.
(// Вызывается на объекте сцены, который есть у каждого игрока на своей сцене.) объявляя хэш-таблицы как фотоны sh:
using Hashtable = ExitGames.Client.Photon.Hashtable;
определенная хеш-таблица:
Hashtable CustomHash = new ExitGames.Client.Photon.Hashtable();
//
//Start() method:
CustomHash.Add("Red",0);
CustomHash.Add("Blue",0);
CustomHash.Add("Ready",0);
PhotonNetwork.LocalPlayer.SetCustomProperties(CustomHash);
PhotonNetwork.LocalPlayer.CustomProperties = CustomHash;
checkteams();
// used after checking teams to assign the player to the team with least players
if(Blue <= red) { TeamSelection(1); }
if(red < Blue) { TeamSelection(2); }
public void CheckTeams()
{
if (!GameStarted)
{
red = 0;
Blue = 0;
PlayersReady = 0;
BluePlayers_Text.text = "";
RedPlayers_Text.text = "";
foreach (Player player in PhotonNetwork.PlayerList)
{
Hashtable h = player.CustomProperties; <---------------------------------------------
//values are not being fetched here or there not being set in start on the clients.
string s = "";
int R = (int)h["Red"];
int B = (int)h["Blue"];
int ready = (int)h["Ready"];
if (R == 1)
{
red++;
if (ready == 0) { s = ""; }
else if (ready == 1) { PlayersReady++; s = " (Ready)"; }
RedPlayers_Text.text = RedPlayers_Text.text.ToString() + player.NickName.ToString() + s.ToString() + "\n";
return;
}
if (B == 1)
{
Blue++;
if (ready == 0) { s = ""; }
else if (ready == 1) { PlayersReady++; s = " (Ready)"; }
BluePlayers_Text.text = BluePlayers_Text.text.ToString() + player.NickName.ToString() + s.ToString() + "\n";
return;
}
}
}
}