См. определение в файле AutoHeightSpacer.c строка 11
12 {
15 float width = 0;
16 float height = 0;
17 float heightOld = 0;
19 float rowRight;
20 float rowHeight;
21 float rowWidth;
23
24
25
27
28 if (child != NULL)
29 {
30
31 m_root.GetScreenSize(rowWidth, height);
32 rowHeight = 0;
33 rowRight = rowWidth;
34
35 while (child)
36 {
37 if (child.IsVisible() == false || child.GetName() == "SelectedContainer" || child.GetName() == "Icon")
38 {
39
40 child = child.GetSibling();
41 continue;
42 }
43
44 child.GetScreenSize(width, height);
45
47 {
49
50
51 if (rowRight < width)
52 {
53 top += rowHeight;
54 if ( rowHeight > 0 ) top +=
Gap;
55 rowRight = rowWidth;
56 rowHeight = 0;
57 }
58
59
60 if (height > rowHeight) rowHeight = height;
61
62 child.SetPos(rowWidth - rowRight, top, false);
63 rowRight -= width +
Gap;
64 }
65 else
66 {
67 child.GetScreenPos(
x,
y);
70 }
71
72 child = child.GetSibling();
73 }
74
75
76 top += rowHeight;
77
79 {
80 height = top;
81 }
82 else
83 {
86 }
87 }
88
89 m_root.GetSize(width, heightOld);
90
92 {
94 }
95
97 {
99 }
100
101 if (Math.AbsInt(heightOld - height) > 1)
102 {
103 m_root.SetSize(width, height);
104 }
106 {
108 }
109
110 return;
111 }
reference bool AlignChilds
Перекрестные ссылки Math::AbsInt(), AlignChilds, Gap, m_root, MaxHeight, MinHeight, Top, x и y.
Используется в AddModifier(), HudDebugWinBase::AddValue(), InitEntityEntries(), OnChildRemove(), NoticeSpacer::OnEvent(), OnWidgetScriptInit(), ScriptedWidgetEventHandler::Show() и HudDebugWinBase::Update().