Конфигурационный файл поезда
Теперь, для того, чтобы наш локомотив стал доступен в списке выбора лаунчера, необходимо сформировать поезд состоящий из одного нашего локомотива. Для этого в каталоге trains/ создаем файл simple-loco.xml такого содержания
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
<?xml version="1.0" encoding="UTF-8"?> <Config> <Common> <CouplingModule>default-coupling</CouplingModule> <CabineInVehicle>0</CabineInVehicle> <ChargingPressure>0.5</ChargingPressure> <InitMainResPressure>0.9</InitMainResPressure> <NoAir>0</NoAir> <Title>Простейший локомотив</Title> <Description>Учебный пример простого локомотива</Description> </Common> <Vehicle> <Module>simple-loco</Module> <ModuleConfig>simple-loco</ModuleConfig> <Count>1</Count> <PayloadCoeff>1</PayloadCoeff> </Vehicle> </Config> |
Файл содержит два основных типа секций. Секция Common содержит общую информацию о поезде
- CouplingModule — имя модуля сцепного прибора. Позволяет задать тип поглощающего аппарата в сцепках по всему поезду. Доступна разработка собственных модулей сцепок;
- CabineInVehicle — номер подвижной единицы, в которой расположена кабина управления;
- ChargingPressure — зарядное давление тормозной магистрали (ТМ), МПа
- InitMainResPressure — начальное давление в главных резервуарах;
- NoAir — флаг «поезд без воздуха»: если поставить его равным 1, то поезд будет полностью без воздуха и значение давления в ГР не имеет значения. Для любителей откачивать поезд перед поездкой для пущего реализма;
- Title — заголовок, отображаемый в списке поездов лаунчера;
- Description — описание поезда, отображаемое в лаунчере.
Секция Common существует в одном экземпляре. А вот секций Vehicle, которая описывает группу стоящих подряд подвижных единиц может быть несколько. Каждая секция Vehicle содержит следующие параметры
- Module — имя DLL-модуля подвижной единицы;
- ModuleConfig — имя конфига подвижной единицы. Здесь прописывается конфиг, помещенный нами в каталог vehicles/;
- Count — число таких ПЕ, стоящих в поезде подряд;
- PayloadCoeff — уровень загрузки ПЕ.
Вы, возможно, спросите- а что, для одной и той же DLL могут быть несколько конфигов? Да, конечно. Допустим DLL описывает целый класс однотипного подвижного состава, например электровоз ВЛ60 существует в пассажирском и грузовом вариантах, отличающихся тормозным оборудованием и редуктором тягового привода. Зачем писать две DLL (хотя можно поступить и так, никто не запретит) на мало отличающиеся электровозы? Можно настроить параметры DLL-модуля, чтобы получилась нужная модификация электровоза. То же касается и вагонов, в которых степень унификации может быть еще выше. К тому же, в конфиге прописывается и путь к 3D-модели подвижного состава, так что одна и та же DLL может иметь разное визуальное представление в игре.
Параметр Count позволяет поставит подряд не одну, а несколько одинаковых подвижных единиц. Удобен для формирования поездов из однотипных вагонов.
Интересен и параметр PayloadCoeff, изменяющийся от 0.0 до 1.0. Этот параметр определяет уровень загрузки подвижной единицы. Масса подвижной единицы рассчитывается в симуляторе по следующей формуле
mass = empty_mass + payload_coeff * payload_mass
то есть масса ПЕ складывается из массы тары, плюс грузоподъемности, помноженной на уровень загрузки. Это позволяет правильно и точно регулировать загрузку каждой ПЕ в поезде. При чем, если вам вдруг вздумается задать параметр PayloadCoeff, скажем, 10 или 100 — у вас ничего не выйдет. Симулятор автоматически «обрежет» значение так, чтобы оно не превышало 1.
Сохраняем файл, убеждаемся, что он лежит по нужному пути
Теперь все готово к тому, чтобы тестировать наш локомотив.