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; проверяется отсутствие их инициализации и зависимостей в готовом клиенте.