17 [
Attribute(
"", UIWidgets.Object,
"Building types",
"")]
18 ref array<ref SCR_BuildingTypeProps> m_aBuildingTypes;
21 override void SetDefaults(
MapLayer layer)
25 if (m_aBuildingTypes.IsEmpty())
30 buildingProps.SetOutlineWidth(buildingType.m_iType, buildingType.m_fOutlineWidth);
31 buildingProps.SetLineColor(buildingType.m_iType, buildingType.m_FillColor);
32 buildingProps.SetOutlineColor(buildingType.m_iType, buildingType.m_OutlineColor);
33 buildingProps.SetLineType(buildingType.m_iType, buildingType.m_iOutlineStyle);
35 if (layer.Index() <= buildingType.m_iViewLayerVisibility)
36 buildingProps.SetVisibility(buildingType.m_iType,
true);
49 [
Attribute(
"4", UIWidgets.EditBox,
desc:
"Layer ID, determines up to which layer is this descriptor type visible")]
50 int m_iViewLayerVisibility;
52 [
Attribute(
"1", UIWidgets.EditBox,
desc:
"Width of the outline",
"")]
53 float m_fOutlineWidth;
55 [
Attribute(
"0 0 0 1", UIWidgets.ColorPicker,
desc:
"Outline color")]
56 ref Color m_OutlineColor;
58 [
Attribute(
"0", UIWidgets.ComboBox,
"Building outline style",
"", ParamEnumArray.FromEnum(
EMapLineType))]
61 [
Attribute(
"0.5 0.5 0.5 1", UIWidgets.ColorPicker,
desc:
"Fill color")]
62 ref Color m_FillColor;
70 override bool _WB_GetCustomTitle(BaseContainer source, out
string title)
73 source.Get(
"m_iType",
type);
85 const int MAIN_GRID_SIZE = 100000;
90 [
Attribute(
"0 0 0 1", UIWidgets.ColorPicker,
desc:
"Line color")]
91 ref Color m_LineColor;
93 [
Attribute(
"{3E7733BAC8C831F6}UI/Fonts/RobotoCondensed/RobotoCondensed_Regular.fnt", UIWidgets.ResourceNamePicker,
desc:
"Font",
params:
"fnt")]
94 ResourceName m_TextFont;
102 [
Attribute(
"0", UIWidgets.CheckBox,
desc:
"Use italic text")]
105 [
Attribute(
"0 0 0 1", UIWidgets.ColorPicker,
desc:
"Text color")]
106 ref Color m_TextColor;
109 override void SetDefaults(
MapLayer layer)
113 gridProps.SetMainGridSize(MAIN_GRID_SIZE);
116 gridProps.SetLineColor(m_LineColor);
117 gridProps.SetFont(m_TextFont);
118 gridProps.SetFontsize(m_iTextSize);
119 gridProps.SetTextColor(m_TextColor);
120 gridProps.SetMainGridLineColor(Color.FromInt(Color.BLACK));
123 gridProps.SetTextBold();
126 gridProps.SetTextItalic();
138 [
Attribute(
"5", UIWidgets.EditBox,
desc:
"Number of segments")]
141 [
Attribute(
"1 1 1 1", UIWidgets.ColorPicker,
desc:
"Segment color A")]
142 ref Color m_SegmentColorA;
144 [
Attribute(
"0 0 0 1", UIWidgets.ColorPicker,
desc:
"Segment color B")]
145 ref Color m_SegmentColorB;
147 [
Attribute(
"{E2CBA6F76AAA42AF}UI/Fonts/Roboto/Roboto_Regular.fnt", UIWidgets.ResourceNamePicker,
desc:
"Font",
params:
"fnt")]
148 ResourceName m_TextFont;
156 [
Attribute(
"0", UIWidgets.CheckBox,
desc:
"Use italic text")]
159 [
Attribute(
"0 0 0 1", UIWidgets.ColorPicker,
desc:
"Distance text color")]
160 ref Color m_TextColor;
162 [
Attribute(
"40", UIWidgets.EditBox,
desc:
"Offset percentage in X",
"")]
165 [
Attribute(
"40", UIWidgets.EditBox,
desc:
"Offset percentage in Y",
"")]
168 [
Attribute(
"0", UIWidgets.CheckBox,
desc:
"Set alignment from default left to the right")]
171 [
Attribute(
"0", UIWidgets.CheckBox,
desc:
"Set alignment from default bot to the top")]
175 override void SetDefaults(
MapLayer layer)
179 legendProps.SetSegmentNumber(m_iSegmentCount);
180 legendProps.SetSegment1Color(m_SegmentColorA);
181 legendProps.SetSegment2Color(m_SegmentColorB);
182 legendProps.SetFont(m_TextFont);
183 legendProps.SetDistanceTextSize(m_iTextSize);
184 legendProps.SetUnitTextSize(m_iTextSize);
185 legendProps.SetUnitTextColor(m_TextColor);
186 legendProps.SetDistanceTextColor(m_TextColor);
187 legendProps.SetOffsetX(m_fOffsetX);
188 legendProps.SetOffsetY(m_fOffsetY);
189 legendProps.SetAlignRight(m_bAlignRight);
190 legendProps.SetAlignTop(m_bAlignTop);
193 legendProps.SetTextBold();
196 legendProps.SetTextItalic();
205 [
Attribute(
"3", UIWidgets.EditBox,
desc:
"Global setting for all contour types. Contours are visible up to this layer, 0 for not visible",
"0 100")]
206 int m_iViewLayerVisibility;
209 float m_fContourWidth;
211 [
Attribute(
"1.8", UIWidgets.EditBox,
desc:
"Major contour width")]
212 float m_fMajorContourWidth;
214 [
Attribute(
"3", UIWidgets.EditBox,
desc:
"Coastal contour width")]
215 float m_fCoastalContourWidth;
217 [
Attribute(
"0 0 0 1", UIWidgets.ColorPicker,
desc:
"Coastal contour color")]
218 ref Color m_CoastalColor;
220 [
Attribute(
"0 0 0 1", UIWidgets.ColorPicker,
desc:
"Ocean contour color")]
221 ref Color m_OceanColor;
223 [
Attribute(
"0 0 0 1", UIWidgets.ColorPicker,
desc:
"Land contour color")]
224 ref Color m_LandColor;
227 override void SetDefaults(
MapLayer layer)
231 contourProps.SetMajorWidth(m_fMajorContourWidth);
232 contourProps.SetContourWidth(m_fContourWidth);
233 contourProps.SetCostalWidth(m_fCoastalContourWidth);
235 contourProps.SetCoastColor(m_CoastalColor);
236 contourProps.SetOceanColor(m_OceanColor);
237 contourProps.SetLandColor(m_LandColor);
239 if (layer.Index() > m_iViewLayerVisibility)
240 contourProps.EnableVisualisation(
false);
249 [
Attribute(
"", UIWidgets.Object,
"Road types",
"")]
250 ref array<ref SCR_RoadTypeProps> m_aRoadTypes;
253 override void SetDefaults(
MapLayer layer)
257 if (m_aRoadTypes.IsEmpty())
262 roadProps.SetLineWidth(roadType.m_iType, roadType.m_fWidth);
263 roadProps.SetBorderLineWidth(roadType.m_iType, roadType.m_fOutlineWidth);
264 roadProps.SetColor(roadType.m_iType, roadType.m_Color);
265 roadProps.SetBorderColor(roadType.m_iType, roadType.m_fOutlineColor);
266 roadProps.SetLineType(roadType.m_iType, roadType.m_iStyle);
270 roadProps.SetDashedLineLength(roadType.m_iType, roadType.m_fDashedLineLength);
271 roadProps.SetDashedLineGapLength(roadType.m_iType, roadType.m_fDashedLineGapLength);
272 roadProps.SetSecondaryColor(roadType.m_iType, roadType.m_DashedSecondaryColor);
275 if (layer.Index() > roadType.m_iVisibility)
276 roadProps.SetVisibility(roadType.m_iType,
false);
278 if (layer.Index() <= roadType.m_iOutlineVisibility)
279 roadProps.SetBorderVisibility(roadType.m_iType,
true);
289 [
Attribute(
"0", UIWidgets.ComboBox,
"Road type",
"", ParamEnumArray.FromEnum(RoadType))]
292 [
Attribute(
"4", UIWidgets.EditBox,
desc:
"Layer ID, determines up to which layer is this road type visible, 0 means not visible")]
301 [
Attribute(
"1 1 1 1", UIWidgets.ColorPicker,
desc:
"Runway color")]
304 [
Attribute(
"0", UIWidgets.EditBox,
desc:
"Layer ID, determines up to which layer is this road type outline visible, 0 means not visible")]
305 int m_iOutlineVisibility;
307 [
Attribute(
"1", UIWidgets.EditBox,
desc:
"Runway outline width")]
308 float m_fOutlineWidth;
310 [
Attribute(
"0 0 0 1", UIWidgets.ColorPicker,
desc:
"Runway outline color")]
311 ref Color m_fOutlineColor;
313 [
Attribute(
"10", UIWidgets.EditBox,
desc:
"Dashed Line only! Segment length")]
314 float m_fDashedLineLength;
316 [
Attribute(
"1", UIWidgets.EditBox,
desc:
"Dashed Line only! Gap length")]
317 float m_fDashedLineGapLength;
319 [
Attribute(
"0 0 0 0", UIWidgets.ColorPicker,
desc:
"Dashed Line only! Secondary segment color")]
320 ref Color m_DashedSecondaryColor;
328 override bool _WB_GetCustomTitle(BaseContainer source, out
string title)
331 source.Get(
"m_iType",
type);
332 title =
typename.EnumToString(RoadType,
type);
343 [
Attribute(
"", UIWidgets.Object,
"Powerline types",
"")]
344 ref array<ref SCR_PowerlineTypeProps> m_aPowerlineTypes;
347 override void SetDefaults(
MapLayer layer)
351 if (m_aPowerlineTypes.IsEmpty())
356 powerlineProps.SetLineWidth(powerlineType.m_iType, powerlineType.m_fLineWidth);
357 powerlineProps.SetLineColor(powerlineType.m_iType, powerlineType.m_LineColor);
359 powerlineProps.SetIconViewLayer(powerlineType.m_iType, powerlineType.m_iIconVisibility);
360 powerlineProps.SetIconQuality(powerlineType.m_iType, powerlineType.m_iIconQuality);
361 powerlineProps.SetIconRadius(powerlineType.m_iType, powerlineType.m_fIconRadius);
362 powerlineProps.SetIconSize(powerlineType.m_iType, powerlineType.m_fIconSize);
364 if (layer.Index() > powerlineType.m_iVisibility)
365 powerlineProps.SetVisibility(powerlineType.m_iType,
false);
378 [
Attribute(
"4", UIWidgets.EditBox,
desc:
"Layer ID, determines up to which layer is this powerline type visible, 0 means not visible")]
384 [
Attribute(
"0 0 0 1", UIWidgets.ColorPicker,
desc:
"Line color")]
385 ref Color m_LineColor;
387 [
Attribute(
"0", UIWidgets.EditBox,
desc:
"Layer ID, determines up to which layer is this road type icon visible, 0 means not visible")]
388 int m_iIconVisibility;
390 [
Attribute(
"1", UIWidgets.EditBox,
desc:
"radius of the icon")]
393 [
Attribute(
"12", UIWidgets.EditBox,
desc:
"quality of the icon")]
394 float m_iIconQuality;
396 [
Attribute(
"1.5", UIWidgets.EditBox,
desc:
"size of the icon")]
405 override bool _WB_GetCustomTitle(BaseContainer source, out
string title)
408 source.Get(
"m_iType",
type);
420 [
Attribute(
"1 1 1 1", UIWidgets.ColorPicker,
desc:
"River and lake water color")]
421 ref Color m_LandWaterColor;
424 override void SetDefaults(
MapLayer layer)
427 waterProps.SetWaterColor(m_LandWaterColor);
436 [
Attribute(
"0 0 0 1", UIWidgets.ColorPicker,
desc:
"Icon color")]
437 ref Color m_IconColor;
439 [
Attribute(
"0 0 0 1", UIWidgets.ColorPicker,
desc:
"Text color")]
440 ref Color m_TextColor;
442 [
Attribute(
"200", UIWidgets.EditBox,
desc:
"Major hill floor limit")]
443 float m_fMajorHillFloorLimit;
445 [
Attribute(
"100", UIWidgets.EditBox,
desc:
"Significant hill floor limit")]
446 float m_fSignificantHillFloorLimit;
449 override void SetDefaults(
MapLayer layer)
452 hillProps.SetMajorHillFloorLimit(m_fMajorHillFloorLimit);
453 hillProps.SetSignificantHillFloorLimit(m_fSignificantHillFloorLimit);
454 hillProps.SetColor(m_IconColor);
455 hillProps.SetTextColor(m_TextColor);
464 [
Attribute(
"", UIWidgets.Object,
"Area types",
"")]
465 ref array<ref SCR_AreaTypeProps> m_aAreaTypes;
468 override void SetDefaults(
MapLayer layer)
472 if (m_aAreaTypes.IsEmpty())
477 areaProps.SetAreaColor(areaType.m_iType, areaType.m_Color);
478 areaProps.SetIndividualColor(areaType.m_iType, areaType.m_ColorIndividual);
480 if (layer.Index() > areaType.m_iVisibility)
481 areaProps.SetVisibility(areaType.m_iType,
false);
483 if (areaType.m_iVisibilityIndividual != 0 && layer.Index() < areaType.m_iVisibilityIndividual)
499 [
Attribute(
"6", UIWidgets.EditBox,
desc:
"Layer ID, determines up to which layer is this area type visible, 0 means not visible")]
502 [
Attribute(
"0.5 0.5 0.5 1", UIWidgets.ColorPicker,
desc:
"Area color")]
505 [
Attribute(
"0", UIWidgets.EditBox,
desc:
"Layer ID, if set, determines up to which layer is this area type visible in individual mode, 0 to disable")]
506 int m_iVisibilityIndividual;
508 [
Attribute(
"0.5 0.5 0.5 1", UIWidgets.ColorPicker,
desc:
"Color when in individual object display")]
509 ref Color m_ColorIndividual;
517 override bool _WB_GetCustomTitle(BaseContainer source, out
string title)
520 source.Get(
"m_iType",
type);
532 [
Attribute(
"4", UIWidgets.EditBox,
desc:
"Layer ID, determines up to which layer is this descriptor type visible")]
533 int m_iViewLayerVisibility;
535 [
Attribute(
"1", UIWidgets.CheckBox,
desc:
"Set if shape interior is filled or hollow")]
541 [
Attribute(
"96", UIWidgets.EditBox,
desc:
"Level of detail",
"0 255")]
544 [
Attribute(
"0", UIWidgets.ComboBox,
"Shape outline type",
"", ParamEnumArray.FromEnum(
EMapLineType))]
547 [
Attribute(
"1", UIWidgets.EditBox,
desc:
"Width of the outline",
"")]
548 float m_fOutlineWidth;
550 [
Attribute(
"0 0 0 1", UIWidgets.ColorPicker,
desc:
"Outline color")]
551 ref Color m_OutlineColor;
553 [
Attribute(
"0.5 0.5 0.5 1", UIWidgets.ColorPicker,
desc:
"Fill color")]
554 ref Color m_FillColor;
557 override void SetDefaults(
MapLayer layer)
560 if (layer.Index() > m_iViewLayerVisibility)
561 drawingProps.SetVisible(
false);
563 drawingProps.SetHollow(m_bIsHollow);
564 drawingProps.SetShapeType(m_iShapeType);
565 drawingProps.SetDetail(m_iDetail);
566 drawingProps.SetOutlineType(m_iOutlineType);
567 drawingProps.SetOutlineWidth(m_fOutlineWidth);
568 drawingProps.SetOutlineColor(m_OutlineColor);
569 drawingProps.SetInteriorColor(m_FillColor);