
John
20.07.2017
10:45:23
Этот кусок кода в редакторе прекрасно работает
а на Андроиде - нет

Egor
20.07.2017
10:47:28

Google

John
20.07.2017
10:58:03
if (Application.platform == RuntimePlatform.WindowsEditor)
path = Application.dataPath + "\\SaveData";
else if (Application.platform == RuntimePlatform.Android)
path = Path.Combine(Application.dataPath, "/SaveData");
теперь ок?

Летучая
20.07.2017
10:59:05
Там вон наверху ещё дедовское
+
лучше стандартный комбине везде использовать

John
20.07.2017
10:59:51
а чем Path.Combine лучше простой конкантенации строк?

TheRainwildsKeeper
20.07.2017
11:01:20
Учитывает слэши
/ или \

John
20.07.2017
11:01:36
Тем что в пути файлов можно использовать "/"?

TheRainwildsKeeper
20.07.2017
11:02:05

Andrey
20.07.2017
11:02:11

Google

Летучая
20.07.2017
11:02:51
ну просто были же времена
когда использовать + было нормально, ибо ничего другого не было :)

John
20.07.2017
11:03:23
т.е. так должно быть?

TheRainwildsKeeper
20.07.2017
11:03:40

John
20.07.2017
11:03:58
т.е. в начале пути слэш не надо ставить?

TheRainwildsKeeper
20.07.2017
11:04:23
там в перегрузках есть хоть сколько аргументов, если что (кроме старых версий .Net)

John
20.07.2017
11:08:28
string path = "";
if (Application.platform == RuntimePlatform.WindowsEditor)
path = Application.dataPath + "\\Levels\\SaveData1";
else if (Application.platform == RuntimePlatform.Android)
path = Path.Combine(Application.dataPath, "Levels/SaveData1");
и еще

TheRainwildsKeeper
20.07.2017
11:09:05

John
20.07.2017
11:09:30
про дедовскую конкантенацию знаю. в редакторе с ней чтение файла все равно работает

TheRainwildsKeeper
20.07.2017
11:09:42
он вообще дедовский, если для путей, да

John
20.07.2017
11:11:32

TheRainwildsKeeper
20.07.2017
11:11:45

John
20.07.2017
11:12:24
ну и еще в C# для Unity несколько своя специфика

Google

Friedrich
20.07.2017
11:12:46
У вас тут накурено.

TheRainwildsKeeper
20.07.2017
11:14:40
платформозависимого. смысл тогда path.combine юзать?

John
20.07.2017
11:15:19

TheRainwildsKeeper
20.07.2017
11:15:26
для старых .net просто два раза вызови
с разными аргументами

Friedrich
20.07.2017
11:15:40

Летучая
20.07.2017
11:15:56
Если надо ефкором сделать key-value хранилище из SqLite, то такое
class ConfigurationEntity {
[Key]
string Key { get; set; }
string Value { get; set; }
}
норм подойдет? Есть ли варианты получше?
А то тут всё к строкам кастить приходится.

TheRainwildsKeeper
20.07.2017
11:15:57

Friedrich
20.07.2017
11:15:59
Охота вам вот эти ифы городить.

John
20.07.2017
11:16:35

Friedrich
20.07.2017
11:16:57

John
20.07.2017
11:17:31
хотя если задавать путь файла без слешей, то в любом случае будет работать

TheRainwildsKeeper
20.07.2017
11:17:55

Andrey
20.07.2017
11:17:56
Мне лень шутить.

John
20.07.2017
11:20:07
string path = Path.Combine(Application.dataPath, "Levels");
path = Path.Combine(path, "SaveData1");
так лучше

Friedrich
20.07.2017
11:20:33
Мне не нравится здесь повторное присваивание. Отчего не написать в одну строчку?
Но это уже вкусовщина. Принципиальных претензий к этому коду не имею.

Egor
20.07.2017
11:21:28
var path = Path.Combine(Application.dataPath, "Levels", "SaveData1");

Google

John
20.07.2017
11:21:34
так у меня C# для метода Path.Combine(...) поддерживает только два аргумента

Friedrich
20.07.2017
11:21:49

Летучая
20.07.2017
11:22:06
var path = Path.Combine(Application.dataPath, "Levels", "SaveData1");

Friedrich
20.07.2017
11:22:16
var path = Path.Combine(Application.dataPath, "Levels", "SaveData1");

Egor
20.07.2017
11:22:25
var path = Path.Combine(Application.dataPath, "Levels", "SaveData1");

Admin
ERROR: S client not available

John
20.07.2017
11:23:03
а... Path.Combine(...) присваивает значение нового пути переменной, которая передается первым аргументом этого метода?

Friedrich
20.07.2017
11:23:27

Летучая
20.07.2017
11:24:05
Бло посоны
Или чтобы сторить конфиг в реляционном хранилище

John
20.07.2017
11:24:27
Хотя да. В отличие от C++ в C# в метод нельзя передать переменную через указатель

Летучая
20.07.2017
11:24:50
лучше сделать 1 энтитю с нужными типами?

John
20.07.2017
11:25:03

Летучая
20.07.2017
11:25:04
но это как-то странно, одна таблица, одна энтитя

Сергей
20.07.2017
11:25:18

Летучая
20.07.2017
11:25:19

Сергей
20.07.2017
11:25:54
Баньте толстого тролля

Andrey
20.07.2017
11:25:57
Если тебя это так напрягает.

Google

Andrey
20.07.2017
11:26:09
И будет не одна строчка.

Летучая
20.07.2017
11:27:11
Да, самый вменяемый вариант вроде
UPD: окончательно остановился на Name-Value хранилище, чтобы не зависеть от конкретной платформы и конкретного сета настроек.

Andrey
20.07.2017
11:27:52
Ну, тогда ты можешь напороться на то, что у тебя конфиг не полный. + типы.
Если тебя это не останавливает, то сделай с одной строчкой. EF это не напрягает, хранит миграцию в одной ячейке в базе.

vit
20.07.2017
11:31:16
ребята, у кого-то есть под рукой проект на гитхабе, в котором адекватно мэппинг работает после версии 4.2.1?

Friedrich
20.07.2017
11:33:00
Версии чего?

Сирожа
20.07.2017
11:33:01
Ребята, а тру вей организации взаимодействия между нодами с апами по такой схеме - "голова" (балансер) и множество воркеров (вероятно даже на разных машинах) - акка?
Кролик?

vit
20.07.2017
11:33:12
Аутомаппера

Сирожа
20.07.2017
11:33:55

Andrey
20.07.2017
11:54:58
Почему трутся сообщения?

Сирожа
20.07.2017
11:56:08

John
20.07.2017
11:57:50
Path.Combine(...) все равно не работает на Андроиде
string path = Path.Combine(Application.dataPath, "SaveData");

Egor
20.07.2017
11:58:14
а вот что такое Application.dataPath - хз
Эта группа больше не существует