Project Architecture - LIHACHTETAN/ClassicUO-BadNewbie-BasicIDE GitHub Wiki
Архитектура проекта
Home · BASIC · UO API · A–Z · Examples · Languages
Навигация по разделу
| Тема | Подробнее |
|---|---|
| Client Architecture | Каталоги исходников |
| BASIC Runtime Architecture | Маршрут команды |
| Runtime Bridge | Вызов через мост клиента |
| IDE Integration | Окно IDE и runtime |
| Network Architecture | Соединение и данные мира |
| Authentication | Параметры сервера · Ограничения Proxy API |
| Proxy Transport | Фактические возможности и ограничения |
| Connection Flow | Connect / Connected / Online |
| Profiles | Область настроек |
| Script Execution Flow | Путь от скрипта к клиенту · Управление экземплярами |
Основные компоненты
ClassicUO Client
├─ Game / UI / Network / Renderer
├─ Bad Newbie settings and managers
├─ Basic Runtime bridge
├─ Theia Host
└─ Profile and resource system
Basic stack
├─ InjectionScript Runtime
├─ Basic language services
├─ Eclipse Theia IDE
├─ API Inspector
└─ Runtime-generated API Manual
Каталоги исходников
| Каталог | Назначение |
|---|---|
src\ClassicUO.Client |
основной клиент и интерфейс |
src\ClassicUO.Renderer |
рендеринг |
src\ClassicUO.IO |
ввод-вывод и игровые данные |
src\ClassicUO.Assets |
ресурсы |
src\ClassicUO.TheiaHost |
запуск и интеграция окна Theia |
external\InjectionScript |
Basic Runtime и language services |
external\YokoTheia |
приложение Theia и Basic extension |
tests\ClassicUO.UnitTests |
тесты клиента |
verification |
отчёты проверок выпуска |
Маршрут команды Basic
Script source
→ parser / validator
→ registered Runtime command
→ Basic-to-ClassicUO bridge
→ bounded game-thread operation
→ ClassicUO manager / world / network
→ result returned to script
API Manual строится из того же реестра команд, который использует Runtime. Отдельный вручную поддерживаемый список API не используется.
Две редакции
Full включает Bad Newbie и весь стек BASIC. Classic собирается отдельно с отключёнными функциями Bad Newbie и BASIC; проверяется отсутствие их инициализации и зависимостей в готовом клиенте.