PlayerPrefs не будет обновляться между одновременными игрокамиC#

Место общения программистов C#
Ответить
Anonymous
 PlayerPrefs не будет обновляться между одновременными игроками

Сообщение Anonymous »

В настоящее время я разрабатываю приложение WebGL с помощью Unity и использую PlayerPrefs, чтобы попытаться сделать так, чтобы для игрока генерировался уникальный идентификатор пользователя и использовался для подключения к удаленной системе лобби.
Проблема, которую я пытаюсь решить, заключается в том, что я храню этот GUID в PlayerPrefs. PlayerPrefs проверяется, когда игрок пытается подключиться к системе лобби. Если я открою игроков одновременно и запущу этот метод подключения один за другим. Второй веб-плеер не видит ключ настройки проигрывателя для идентификатора пользователя. Они определенно проверяют правильный ключ. Но если я подключу 1-го игрока, затем открою 2-й веб-плеер и запущу соединение, 2-й игрок сможет найти настройки игрока, сохраненные первым игроком.
Похоже, что настройки игрока сохраняются в виде кеша и не сохраняются между двумя разными игроками. Можно ли принудительно обновить базу данных playerprefs в Unity? Кажется, не существует никакого способа сделать это.
Это в Unity 2022.3.58f1.
Фрагмент кода здесь:
//create userid unique to each room code
if (PlayerPrefs.HasKey(userIdKey + roomCode))
{
Debug.Log($"Found user id with id key: {userIdKey + roomCode}...");
userId = PlayerPrefs.GetString(userIdKey + roomCode);
}
else
{
Debug.Log($"Generating new user id with key: {userIdKey + roomCode}...");
userId = Guid.NewGuid().ToString();
PlayerPrefs.SetString(userIdKey + roomCode, userId);
}
PlayerPrefs.Save();


Подробнее здесь: https://stackoverflow.com/questions/797 ... us-players
Ответить

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

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

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

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

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