TGUI - фреймворк с /tg/station для создания браузерных интерфейсов с использованием современных технологии и практик из веб-разработки.
- Node - требуется версия с NPM версией не ниже 7. Достаточно поставить
Текущая
версию.
- InfernoJS - React-like библиотека для создания интерфейсов на HTML с использование JavaScript и JSX.
- TypeScript - типизированный язык программирования созданный на основе JavaScript. При компиляции преобразуется в JavaScript.
- Webpack - сборщик ассетов и кода, также производит минификацю JavaScript и CSS.
- Babel - транскомпилятор JavaScript кода. Используется для преобразования современных версии языка в старую версию - работающую в Internet Explorer.
- SASS - более мощная версия CSS.
Для разработки игровых интерфейсов достаточно знания JavaScript/TypeScript, JSX/TSX и InfernoJS.
Для разработок связанных с tgui-panel (используется для чата) - также необходимо уметь работать с Redux (здесь имеется похожая на него реализация).
В качестве используемого языка крайне рекомендуется использовать TypeScript, файлы с использование этого языка имеют расширения .ts
и .tsx
.
Все команды ниже необходимо выполнять ТОЛЬКО в папке tgui
.
Если вы только что скачали репозитории или у вас по каким-то другим причинам отсутствует папка tgui/node_modules
- выполните команду npm install
npm run dev
- запускает development сервер TGUI (запускать ПОСЛЕ входа на свой локальный сервер через Dream Seeker).npm run lint
- запускает только линтер без компиляции кода, позволяет найти ошибки.npm run build
- собирает код TGUI в готовый вариант в папкуtgui/public
. Её НЕОБХОДИМО выполнять после любых изменении в коде TGUI перед отправкой коммита.
Для Visual Studio Code есть возможность запустить команды npm run dev
(TGUI Dev) и npm run build
(TGUI Build) через нажатие на F5.
Когда у вас запущен development сервер - вы имеете доступ к некоторым возможностям:
Debug Logs. В терминале где у вас запущен development сервер будут выводиться различные логи, в том числе и время потраченное на рендер. Пытайтесь держать время рендера не выше 16мс.
Kitchen Sink. Нажмите в окне вашего игрового интерфейса F12 для открытия меню где присутствуют большинство разных UI-компонентов.
Layout Debugger. Нажмите в окне вашего игрового интерфейса F11 для включения отображения раскладки UI-компонентов - у границ компонентов появится тонкая обводка.