Дублирующиеся значения в словаре при регистрации расстояний в Photon FusionC#

Место общения программистов C#
Ответить
Anonymous
 Дублирующиеся значения в словаре при регистрации расстояний в Photon Fusion

Сообщение Anonymous »

Я разрабатываю многопользовательскую игру в Unity с использованием Photon Fusion.
У меня есть словарь playerDistances:
[Networked]
[Capacity(4)] // Sets the fixed capacity of the collection
[UnitySerializeField] // Show this private property in the inspector.
private NetworkDictionary playerDistances => default;

где я записываю расстояние каждого игрока до финиша. Я обновляю эти расстояния в методе FixUpdateNetwork()
Dist=CalculateDistancePercentage();
If (playerDistances.ContainsKey(PlayerPrefs.GetString("PlayerName"))) {
// If the player is already in the dictionary, then we should update his distances instead of adding new key pairs
playerDistances.Set(PlayerPrefs.GetString("PlayerName"), Dist).
} else {
// If the player is not already in the dictionary, then we should add a new key-value pair
playerDistances.Add(PlayerPrefs.GetString("PlayerName"), Dist).
}

и распечатайте их при нажатии клавиши «U» в методе Update().
If (Input.GetKeyDown(KeyCode.U))
{
foreach(var kvp in playerDistances)
{
Debug.Log($"{playerDistances.Count}/{playerDistances.Capacity} Key:{kvp.Key} Value:{kvp.Value}").
}
}

это мой CalculateDistancePercentage:
private float CalculateDistancePercentage()
{
//Vector3 closestPointOnBounds = finishCollider.boun ds.ClosestPoint(transform.position).
float currentDistance = Vector3.Distance(transform.position,finishObject.transform.position).
//Debug.Log($"Absolute distance to the finish edge: {currentDistance}").
return currentDistance.
}

Однако, когда я нажимаю «U», он печатает повторяющиеся значения для разных клавиш
2/6 Key:AC Value:69.639
2/6 Key:BBB Value:69.639
2/6 Key:AC Value:22.622
2/6 Key:BBB Value:22.622

хотя каждый ключ (который представляет уникального игрока) должен иметь разное значение, например:
2/6 Key:AC Value:69.639
2/6 Key:BBB Value:22.622


Подробнее здесь: https://stackoverflow.com/questions/766 ... ton-fusion
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»