Arma Reforger Explorer 1.7.0.54
Arma Reforger Code Explorer by Zeroy - Thanks to MisterOutofTime
Loading...
Searching...
No Matches
SCR_MilitarySymbolConfig.c
Go to the documentation of this file.
1[BaseContainerProps(configRoot: true)]
3{
4 [Attribute()]
5 protected ref array<ref SCR_MilitarySymbolLayout> m_aLayouts;
6
12 void CreateWidgets(notnull SCR_MilitarySymbol symbol, notnull Widget parentWidget)
13 {
15 {
16 layout.CreateLayout(symbol, parentWidget);
17 }
18 }
19};
22{
23 [Attribute("0", uiwidget: UIWidgets.SearchComboBox, enums: ParamEnumArray.FromEnum(EMilitarySymbolIdentity))]
25
26 [Attribute("0", uiwidget: UIWidgets.SearchComboBox, enums: ParamEnumArray.FromEnum(EMilitarySymbolDimension))]
27 protected ref array<ref EMilitarySymbolDimension> m_aDimensions;
28
29 [Attribute(uiwidget: UIWidgets.ResourceNamePicker, params: "layout")]
31
32 [Attribute()]
33 protected ref array<ref SCR_MilitarySymbolArea> m_aAreas;
34
35 void CreateLayout(notnull SCR_MilitarySymbol symbol, notnull Widget parentWidget)
36 {
37 if (m_Identity != symbol.GetIdentity() || !m_aDimensions.Contains(symbol.GetDimension()))
38 return;
39
40 if (!m_Layout)
41 {
42 Print(string.Format("Layout not defined for %1!", typename.EnumToString(EMilitarySymbolIdentity, m_Identity)), LogLevel.WARNING);
43 return;
44 }
45
46 Widget widget = GetGame().GetWorkspace().CreateWidgets(m_Layout, parentWidget);
47
48 foreach (SCR_MilitarySymbolArea area: m_aAreas)
49 {
50 area.CreateArea(symbol, widget);
51 }
52 }
53};
56{
57 [Attribute()]
58 protected string m_sAreaWidgetName;
59
60 [Attribute(uiwidget: UIWidgets.ResourceNamePicker, params: "layout")]
62
63 void CreateArea(notnull SCR_MilitarySymbol symbol, notnull Widget parentWidget);
64};
67{
68 [Attribute()]
69 protected ref array<ref SCR_MilitarySymbol_TextureBase> m_aTextures;
70
71 override void CreateArea(notnull SCR_MilitarySymbol symbol, notnull Widget parentWidget)
72 {
73 if (!m_Layout)
74 {
75 Print("Layout not defined!", LogLevel.WARNING);
76 return;
77 }
78
80 parentWidget = parentWidget.FindAnyWidget(m_sAreaWidgetName);
81
82 ImageWidget imageWidget;
84 {
85 if (!texture.IsCompatible(symbol))
86 continue;
87
88 imageWidget = ImageWidget.Cast(GetGame().GetWorkspace().CreateWidgets(m_Layout, parentWidget));
89 if (!imageWidget)
90 continue;
91
92 imageWidget.LoadImageTexture(0, texture.GetTexture());
93 }
94 }
95};
98{
99 [Attribute(uiwidget: UIWidgets.ResourceNamePicker, params: "imageset")]
101
102 [Attribute("%1")]
103 protected string m_sTextureSetFormat;
104
105 [Attribute()]
106 protected ref array<ref SCR_MilitarySymbol_QuadBase> m_aQuads;
107
108 override void CreateArea(notnull SCR_MilitarySymbol symbol, notnull Widget parentWidget)
109 {
110 if (!m_Layout)
111 {
112 Print("Layout not defined!", LogLevel.WARNING);
113 return;
114 }
115
117 parentWidget = parentWidget.FindAnyWidget(m_sAreaWidgetName);
118
119 //~ Todo: Hotfix to keep non-Combatants icons clear without any other icons
120 if (symbol.HasIcon(EMilitarySymbolIcon.UNARMED))
121 return;
122
123 ImageWidget imageWidget;
124 string textureSetName;
125
127 {
128 if (!quad.IsCompatible(symbol))
129 continue;
130
131 imageWidget = ImageWidget.Cast(GetGame().GetWorkspace().CreateWidgets(m_Layout, parentWidget));
132 if (!imageWidget)
133 continue;
134
135 textureSetName = string.Format(m_sTextureSetFormat, quad.GetImageSetName());
136 imageWidget.LoadImageFromSet(0, m_ImageSet, textureSetName);
137 }
138 }
139};
142{
143
144 [Attribute("%1")]
145 protected string m_sTextureSetFormat;
146
147 [Attribute()]
148 protected ref array<ref SCR_MilitarySymbol_QuadBase> m_aQuads;
149
150 override void CreateArea(notnull SCR_MilitarySymbol symbol, notnull Widget parentWidget)
151 {
152 if (!m_Layout)
153 {
154 Print("Layout not defined!", LogLevel.WARNING);
155 return;
156 }
157
159 parentWidget = parentWidget.FindAnyWidget(m_sAreaWidgetName);
160
161 ImageWidget imageWidget;
162 string textureSetName;
164 {
165 if (!quad.IsCompatible(symbol))
166 continue;
167
168 imageWidget = ImageWidget.Cast(GetGame().GetWorkspace().CreateWidgets(m_Layout, parentWidget));
169 if (!imageWidget)
170 continue;
171 textureSetName = string.Format(m_sTextureSetFormat, quad.GetImageSetName());
172
173 imageWidget.LoadImageTexture(0, quad.GetImageSetName());
174 }
175 }
176};
179{
180 [Attribute()]
181 protected string m_sTextureSetName;
182
184 {
185 return m_sTextureSetName;
186 }
187
188 bool IsCompatible(notnull SCR_MilitarySymbol symbol);
189};
192{
193 [Attribute("0", uiwidget: UIWidgets.SearchComboBox, enums: ParamEnumArray.FromEnum(EMilitarySymbolIcon))]
195
196 override bool IsCompatible(notnull SCR_MilitarySymbol symbol)
197 {
198 return symbol.HasIcon(m_Icon);
199 }
200};
203{
204 [Attribute("0", uiwidget: UIWidgets.SearchComboBox, enums: ParamEnumArray.FromEnum(EMilitarySymbolAmplifier))]
206
207 override bool IsCompatible(notnull SCR_MilitarySymbol symbol)
208 {
209 return m_Amplifier == symbol.GetAmplifier();
210 }
211};
214{
215 [Attribute(uiwidget: UIWidgets.ResourcePickerThumbnail, params: "imageset")]
217
219 {
220 return m_Texture;
221 }
222
223 bool IsCompatible(notnull SCR_MilitarySymbol symbol);
224};
227{
228 [Attribute("0", uiwidget: UIWidgets.SearchComboBox, enums: ParamEnumArray.FromEnum(EMilitarySymbolIcon))]
230
231 override bool IsCompatible(notnull SCR_MilitarySymbol symbol)
232 {
233 return symbol.HasIcon(m_Icon);
234 }
235};
238{
239 [Attribute("0", uiwidget: UIWidgets.SearchComboBox, enums: ParamEnumArray.FromEnum(EMilitarySymbolAmplifier))]
241
242 override bool IsCompatible(notnull SCR_MilitarySymbol symbol)
243 {
244 return m_Amplifier == symbol.GetAmplifier();
245 }
246};
247
249{
250 override bool _WB_GetCustomTitle(BaseContainer source, out string title)
251 {
253 source.Get("m_Identity", identity);
254 title = typename.EnumToString(EMilitarySymbolIdentity, identity);
255
256 array<EMilitarySymbolDimension> dimensions = {};
257 source.Get("m_aDimensions", dimensions);
258 int count = dimensions.Count();
259 if (count > 0)
260 {
261 title += ": ";
262 for (int i = 0; i < count; i++)
263 {
264 if (i > 0)
265 title += " & ";
266
267 title += typename.EnumToString(EMilitarySymbolDimension, dimensions[i]);
268 }
269 }
270
271 return true;
272 }
273};
EMilitarySymbolIdentity
EMilitarySymbolDimension
EMilitarySymbolIcon
EMilitarySymbolAmplifier
ArmaReforgerScripted GetGame()
Definition game.c:1398
SCR_AIAnimation_Loitering BaseContainerProps
Commanding menu commanding element class.
class SCR_CampaignHintStorage SCR_BaseContainerCustomTitleEnum(EHint, "m_eHintId")
UI layouts Menus CleanSweep CleanSweepAreaSelection layout
SCR_GroupEditableEntityUIComponent SCR_BaseEditableEntityUIComponent SCR_BaseContainerMilitaryLayout()] class SCR_GroupEditableEntityTextureUIComponent
class SCR_KeyBindingFilter BaseContainerCustomTitleField("m_sBindString")
override bool IsCompatible(notnull SCR_MilitarySymbol symbol)
bool IsCompatible(notnull SCR_MilitarySymbol symbol)
override bool IsCompatible(notnull SCR_MilitarySymbol symbol)
override bool IsCompatible(notnull SCR_MilitarySymbol symbol)
bool IsCompatible(notnull SCR_MilitarySymbol symbol)
override bool IsCompatible(notnull SCR_MilitarySymbol symbol)
ref array< ref SCR_MilitarySymbol_QuadBase > m_aQuads
override void CreateArea(notnull SCR_MilitarySymbol symbol, notnull Widget parentWidget)
void CreateArea(notnull SCR_MilitarySymbol symbol, notnull Widget parentWidget)
ref array< ref SCR_MilitarySymbol_QuadBase > m_aQuads
override void CreateArea(notnull SCR_MilitarySymbol symbol, notnull Widget parentWidget)
override void CreateArea(notnull SCR_MilitarySymbol symbol, notnull Widget parentWidget)
ref array< ref SCR_MilitarySymbol_TextureBase > m_aTextures
ref array< ref SCR_MilitarySymbolLayout > m_aLayouts
void CreateWidgets(notnull SCR_MilitarySymbol symbol, notnull Widget parentWidget)
ref array< ref EMilitarySymbolDimension > m_aDimensions
ref array< ref SCR_MilitarySymbolArea > m_aAreas
EMilitarySymbolIdentity m_Identity
void CreateLayout(notnull SCR_MilitarySymbol symbol, notnull Widget parentWidget)
proto void Print(void var, LogLevel level=LogLevel.NORMAL)
Prints content of variable to console/log.
LogLevel
Enum with severity of the logging message.
Definition LogLevel.c:14
SCR_FieldOfViewSettings Attribute