[英]PUN 2 Getting and Setting Custom Properties
自从 UNet 贬值以来,我对 Photon 还是比较陌生。 我在获取和设置本地自定义属性时遇到问题。 我正在尝试选择两个不同的团队(球员和天使)。 每个玩家开始时都是一个旁观者。 一定比例的玩家被选为天使,其余的则被分配为玩家。 我可以设法获取和设置随机选择的玩家的属性,但我似乎无法为其余玩家分配值。 代码片段如下。
private IEnumerator TeamBalance()
{
angelCount = Mathf.Floor(PhotonNetwork.PlayerList.Length * angelPercent);
currentAngels = angelCount;
for (int i = 0; i < angelCount;)
{
int index = Random.Range(0, PhotonNetwork.PlayerList.Length);
if (PhotonNetwork.PlayerList[index].CustomProperties["team"].ToString() == "spectator")
{
PhotonNetwork.PlayerList[index].CustomProperties["team"] = "angel";
i++;
}
}
foreach (var player in PhotonNetwork.PlayerList)
{
if (player.CustomProperties["team"].ToString() == "spectator")
{
player.CustomProperties["team"] = "player";
}
}
yield return null;
}
3 名玩家的最终结果最终选择了 1 位天使,但还剩下 2 位观众。
您需要使用 Player.SetCustomProperties 函数来设置属性,而不是直接分配它们。 这允许 PUN 跟踪已更改的内容并正确更新。 https://doc-api.photonengine.com/en/pun/v2/class_photon_1_1_realtime_1_1_player.html#a0c1010eda4f775ff56f8c86b026be41e
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.