Skip to content

Секция Buildings

Alexander Oblovatniy edited this page Oct 13, 2016 · 10 revisions
Note: English version

Класс il2fb.parsers.mission.sections.buildings.BuildingsSectionParser отвечает за разбор секции Buildings. Каждая строка в этой секции описывает отдельное здание.

Пример секции:

[Buildings]
  0_bld House$Tent_Pyramid_US 1 43471.34 57962.08 630.00

Пример разбора:

{
    'buildings': [
        Building(
            id='0_bld',
            belligerent=Belligerents.red,
            code='Tent_Pyramid_US',
            pos=Point2D(43471.34, 57962.08),
            rotation_angle=270.00,
        ),
    ],
}

Конечным результатом работы парсера является словарь с элементом buildings, который содержит список зданий.

Здания описываются структурой il2fb.parsers.mission.sections.buildings.Building.

Описание параметорв:

0_bld

Идентификатор объекта, который был выдан полным редактором миссий. Содержит слово bld, перед которым расположен префикс: целочисленный порядковый номер.

Путь: id
Тип: str
Значение: исходная строка
House$Tent_Pyramid_US

Тип объекта (House) и его кодовое название (Tent_Pyramid_US). Тип отсутствует в результате разбора, поскольку все постройки имеют тип House.

Путь: code
Тип: str
Значение: исходная строка
1

Кодовый номер стороны, которой принадлежит объект.

Путь: belligerent
Тип: сложная константа стороны
43471.34

Координата X.

Путь: pos.x
Тип: float
Значение: исходное значение, преобразованное в вещественное число
57962.08

Координата Y.

Путь: pos.y
Тип: float
Значение: исходное значение, преобразованное в вещественное число
630.00

Угол поворота.

Путь: rotation_angle
Тип: float
Значение: исходное значение, преобразованное в вещественное число и взятое по модулю 360