Страница 2 из 2

Re: Хранение огромной кучи текста

СообщениеДобавлено: 23 дек 2016, 22:06
seaman
ДА купите Вы ассет по диалогам и все.
Этот круче всего:
https://www.assetstore.unity3d.com/en/#!/content/11672
Вообще диалоги сильно связаны имхо с квест-системой и инвентарем и еще с кучей вещей. Т.е. ветви диалога в РПГ сильно зависят от того выполнил ты квест или нет, есть у тебя предмет или нет...
Так что это это неординарная вещь. Потому и проще взять готовый ассет и уже к нему прикручивать что надо.
PS: по ссылке ассет, кстати вроде поддерживает csv файлы и json и... Но сама работа с диалогами в нем мне не очень нравится.
PPS: вот тут немного обсуждали диалоги: http://www.gamedev.ru/projects/forum/?id=221059

Re: Хранение огромной кучи текста

СообщениеДобавлено: 23 дек 2016, 22:08
seaman
ключ - это string

Лучше ключ делать не string. Поиск по ключу-строке гораздо дольше чем по ключу-int.

Re: Хранение огромной кучи текста

СообщениеДобавлено: 23 дек 2016, 22:58
Woolf
seaman писал(а):
ключ - это string

Лучше ключ делать не string. Поиск по ключу-строке гораздо дольше чем по ключу-int.


как будто для диалогов это имеет значение ))

Re: Хранение огромной кучи текста

СообщениеДобавлено: 24 дек 2016, 00:02
Cr0c
seaman писал(а):
ключ - это string

Лучше ключ делать не string. Поиск по ключу-строке гораздо дольше чем по ключу-int.

Тогда надо где-то хранить id каждого текста, а тут прямо в самом тексте. Да и заменяется текст всего раз при загрузке сцены.

Re: Хранение огромной кучи текста

СообщениеДобавлено: 24 дек 2016, 00:29
seaman
как будто для диалогов это имеет значение ))

Ну в общем - да.

Re: Хранение огромной кучи текста

СообщениеДобавлено: 24 дек 2016, 20:32
getAlex
Можно делать как угодно. К примеру, описание спелов в варкрафт-3, содержал в тексте ключи(как тут $%item), которые брались из конкретного класса предмета, т.е. это могло быть как название предмета, так и таймеры("наносит %dmg урона %type_dmg_1 и %dmg_over_time в течении %dot_time уроном стихии %type_dmg_2")
А ещё ключи могут состоять из других ключей или иметь общий ключ.
$date_1="вчера утром"
$text_1 = "я нашел чёрный $%item у себя в кармане"
$action_2="выкинул $%item в окно"

$date_1+" "+$text_1+" "+$And +" "+$action_2

Re: Хранение огромной кучи текста

СообщениеДобавлено: 25 дек 2016, 01:16
Woolf
$date_1+" "+$text_1+" "+$And +" "+$action_2


а вот так не надо делать. В других языках структура предложения другая и всё поломается. Лучше транслитерировать сразу фразы
Синтаксис:
Используется csharp
$item_321=топор
$item_322=окно

$msg_10=Я бросил {0} в {1}


.............
$item_321=axe
$item_322=window
$msg_10=I am drop {0} to the {1}
.............
string msg=string.Format (lang.get("$msg_10"),lang.get("$item_321"),lang.get("$item_322"));
 


Ну или как-то так