Найти в Дзене
48 подписчиков

Люблю PlayerPrefs


Вообще один из самых удобных механизмов в Unity. Можно конечно пользоваться файлами и файловой системой, но тогда нужно помнить нюансы для каждой платформы под который разрабатывается проект или библиотека. Так как скажем в том же webgl что-то писать по путям — нельзя. А с префсами. Нужен тебе бекап списка регистрации в формате csv (проект на устройство которое в наших руках, поэтому полезно такое локальное сохранение).

Написал вот такой небольшой класс:
using System;
using UnityEngine;

public class LocalBackupRegistrationService : IRegistrationService
{
private const string PrefsKey = "LocalBackupData";
private const string Separator = ";";
public void Send(RegistrationData data, Action onSuccess, Action onError)
{
string strData;
strData = PlayerPrefs.HasKey(PrefsKey) ? PlayerPrefs.GetString(PrefsKey) : $"phone{Separator}email{Separator}fullname";
strData += $"\n{data.phone}{Separator}{data.email}{Separator}{data.fullname}";
PlayerPrefs.SetString(PrefsKey, strData);
PlayerPrefs.Save();
}

public string GetData()
{
return PlayerPrefs.HasKey(PrefsKey) ? "" : PlayerPrefs.GetString(PrefsKey);
}
}

и вуаля. Хочешь в веб пихай решение, хочешь на айос, хочешь на андроид, хочешь на винду.

И да, веб решения тоже на стендах бывают удобны, так как их на самом деле очень удобно обновлять on the fly при наличии на стенде интернета. Понятно что такое сохранение полезно, только если мы контролируем устройство, но всё равно. Для того же самого сохранения состояния игры. Пользуешься префсами и не паришься. Где надо — это файлы в файловой системе, где надо это локал сторадж браузера)

#сниппет
1 минута