@CSharpChatЭта группа больше не существует

Страница 1526 из 1888
John
20.07.2017
10:45:23
Этот кусок кода в редакторе прекрасно работает

а на Андроиде - нет



Egor
20.07.2017
10:47:28
path = Application.dataPath + "\\SaveData"; fs = new FileStream(path, FileMode.Open); bw = new BinaryWriter(fs);
1) не аппендируй пути так - юзай Path.Combine в том же ведре используется "/"

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
Там вон наверху ещё дедовское
Но ведь работает же в редакторе Unity

а чем Path.Combine лучше простой конкантенации строк?

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

/ или \

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

TheRainwildsKeeper
20.07.2017
11:02:05
Тем что в пути файлов можно использовать "/"?
Ты в Path.Combine в аргументах вообще не передаешь слэши

Andrey
20.07.2017
11:02:11
Там вон наверху ещё дедовское
alias Говнокод Дедовское ?)

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");

и еще

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

John
20.07.2017
11:11:32
Path.Combine(Application.dataPath, "Levels", "SaveData1");
no overload for Path.Combine(...) method that takes 3 arguments

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 просто два раза вызови

с разными аргументами

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

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

John
20.07.2017
11:16:35
Охота вам вот эти ифы городить.
Тут это необходимо чтобы код работал как в редакторе Unity, так под Андроид

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
var path = Path.Combine(Application.dataPath, "Levels", "SaveData1");
Лол, давайте по второму разу.

Летучая
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(...) присваивает значение нового пути переменной, которая передается первым аргументом этого метода?

Летучая
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:19
это для JS скорее
напиши свой экстеншн с params string[]

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

Andrey
20.07.2017
11:25:57
но это как-то странно, одна таблица, одна энтитя
Сделай таблицу Config с 3 полями: id, name, value

Если тебя это так напрягает.

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
Аутомаппера

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 - хз

Страница 1526 из 1888

Эта группа больше не существует Эта группа больше не существует