У меня сейчас немного странная проблема.Я пытаюсь загрузить файл локализации JSON из StreamingAssets.Я использую Path.Combine, чтобы объединить StreamingAssetsPath и Path вместе, чтобы сформировать полный путь.Значение Path - это en-us.Но по какой-то причине Path.Combine выбрасывает \ при объединении строк, поэтому мой путь неверен.Если я изменю значение Path на / en-US, то он полностью отключит часть Application.StreamingAssetsPath.
Debug.Log, результат Path = en-US:
C: / Users / bluem / Documents / Fishtale / Assets / StreamingAssets \ en-US
Отладка. Результат журнала Path = / en-US
/en-US
Я просто не могу придумать головы или рассказы об этой странности lol.
public void LoadLocalizedText()
{
localizedText = new Dictionary<string, string>();
string filePath = Path.Combine(Application.streamingAssetsPath, path);
Debug.Log(filePath);
if (File.Exists(filePath))
{
string dataAsJson = File.ReadAllText(filePath);
LocalizationData loadedData = JsonUtility.FromJson<LocalizationData>(dataAsJson);
for (int i = 0; i < loadedData.items.Length; i++)
{
localizedText.Add(loadedData.items[i].key, loadedData.items[i].value);
}
Debug.Log("Localization Manager: Data loaded, dictionary contains: " + localizedText.Count + " entries.");
}
else
{
Debug.LogError("Localization Manager: Cannot find data file name: " + filePath);
return;
}
isReady = true;
}