Пользовательские модификации
|
|
Valik_Fenko | Дата: Среда, 08 Марта 2017, 23:47 | Сообщение # 1 |
почетный гость
Сейчас нет на сайте
| Создаю многопользовательскую игру на unity3d. В некоторых играх есть возможность редактировать стандартный интерфейс(Например тот-же Wow). Это очень удобно,т.к игроки лучше знают что им удобней. Ну и вопрос касается реализации подобного ,как это всё можно организовать?Может кто подкинет идею)
|
|
| |
seaman | Дата: Четверг, 09 Марта 2017, 00:07 | Сообщение # 2 |
старожил
Сейчас нет на сайте
| Изучите паттерн MVC. Интерфейс игры - View отрисовывается не зашитым в код, а по Model - по каким-то данным, указывающим что где рисовать. По простому. Должен быть некий файл с данными, указывающими что где рисовать. Код читает этот файл и отрисовывает ГУИ. Пользователь может заменить файл, тем самым изменив вид. В Юнити проще не файл, а PlayerPrefs....
|
|
| |
Valik_Fenko | Дата: Четверг, 09 Марта 2017, 00:51 | Сообщение # 3 |
почетный гость
Сейчас нет на сайте
| Хмм,а можно немного подробней?Как это через файл и как это через префаб? Тем более просто рисовать мало.Должно быть ещё и логика у интерфейса. Есть события(например игрок чет кастует или в него кастуют,или падает или ещё подобное),и есть как вы говорите файл который указывает что и где рисовать?А как добавить логику.Например игрок захочет сделать так чтобы когда в него кастуют фаербол у него по центру экрана появился текст ФАЕРБОЛ!!.
По сути клиент получает часть данных который сервер пожелает нужным ему отправить)И я хочу сделать чтобы пользователи могли делать с этими данными что им в голову стукнет.Скажем получили с сервера предметы.И пользователь хочет добавить фильтры,поиск,сортировку предметов,а стандартный интерфейс этого не поддерживает.
Я хотел сделать из кучи костылей.Типа есть текстовый файл там есть псевдокод чет вроде такого:
<Event(InputCMD == "/cmd")
UI.CreateWindow(rect)>CreateButton(rect,text) { //а здесь логика для кнопки.Ну например создать ещё какие-то элементы UI } Event> И всю эту фигню читать банально через методы которые есть в C# . string.IndexOf и т.д)) Но это ж жесть будет просто).Особенно если добавить такие вещи как проверки,циклы. Как это всё можно по адекватному делать?
Сообщение отредактировал Valik_Fenko - Четверг, 09 Марта 2017, 19:32 |
|
| |