Arma Reforger Explorer 1.7.0.54
Arma Reforger Code Explorer by Zeroy - Thanks to MisterOutofTime
Loading...
Searching...
No Matches
SCR_RadialProgressBarUIComponent.c
Go to the documentation of this file.
2{
3 [Attribute(defvalue: "0", desc: "Progress of bar, value between min value and maxvalue")]
4 protected float m_iProgress;
5
6 [Attribute(defvalue: "0", desc: "Progress of bar, lowest value")]
7 protected float m_fMinValue;
8
9 [Attribute(defvalue: "1", desc: "Progress of bar, highest value")]
10 protected float m_fMaxValue;
11
12 [Attribute(defvalue: "0", desc: "Mirrors the Progress bar, by default true")]
13 protected bool m_bIsMirrored;
14
15 [Attribute("ProgressBar")]
16 protected string m_sRadialProgressBarName;
17
18 [Attribute("PreviewBar")]
20
21 [Attribute("Background")]
22 protected string m_sBackgroundName;
23
27
30
31 protected bool m_bProgressFull;
32
37 void SetProgress(float progress)
38 {
39 m_iProgress = Math.Clamp(progress, m_fMinValue, m_fMaxValue);
40
41 float maskProgress = (progress - m_fMinValue) / (m_fMaxValue - m_fMinValue);
42
43 if (m_bIsMirrored)
44 m_wRadialProgressBar.SetMaskProgress(1 - maskProgress);
45 else
46 m_wRadialProgressBar.SetMaskProgress(maskProgress);
47
48 if (progress == m_fMaxValue && !m_bProgressFull)
49 {
50 m_bProgressFull = true;
51 Event_OnProgressFull.Invoke(this);
52 }
53 else if (progress == m_fMinValue && m_bProgressFull)
54 {
55 m_bProgressFull = false;
56 Event_OnProgressEmpty.Invoke(this);
57 }
58 }
59
64 void SetPreviewProgress(float progress)
65 {
66 progress = Math.Clamp(progress, m_fMinValue, m_fMaxValue);
67
68 if (m_bIsMirrored)
69 m_wRadialProgressPreview.SetMaskProgress(m_fMaxValue - progress);
70 else
71 m_wRadialProgressPreview.SetMaskProgress(progress);
72
73 m_wRadialProgressPreview.SetVisible(progress > m_fMinValue);
74 }
75
81 {
82 return m_iProgress;
83 }
84
93
102
107 void SetProgressBarImage(ResourceName RadialProgressBarImage)
108 {
110 m_wRadialProgressBar.LoadImageTexture(0, RadialProgressBarImage);
111 }
112
117 void SetBackgroundImage(ResourceName BackgroundImage)
118 {
119 if (m_wBackground)
120 m_wBackground.LoadImageTexture(0, BackgroundImage);
121 }
122
127
132
133
134 override void HandlerAttached(Widget w)
135 {
136 if (SCR_Global.IsEditMode())
137 return;
138
141 m_wBackground = ImageWidget.Cast(w.FindAnyWidget(m_sBackgroundName));
142
144 {
145 Print("SCR_RadialProgressBarUIComponent could not find m_wRadialProgressBar!", LogLevel.ERROR);
146 return;
147 }
148
149 if (m_bIsMirrored)
150 {
151 m_wRadialProgressBar.SetMaskMode(ImageMaskMode.INVERTED);
152 m_wRadialProgressPreview.SetMaskMode(ImageMaskMode.INVERTED);
153 }
154 else
155 {
156 m_wRadialProgressBar.SetMaskMode(ImageMaskMode.REGULAR);
157 m_wRadialProgressPreview.SetMaskMode(ImageMaskMode.REGULAR);
158 }
159
160 m_bProgressFull = false;
163 }
164
165};
UI Textures DeployMenu Briefing conflict_HintBanner_1_UI desc
Definition Math.c:13
static bool IsEditMode()
Definition Functions.c:1566
void SetBackgroundImage(ResourceName BackgroundImage)
void SetProgressBarImage(ResourceName RadialProgressBarImage)
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
ImageMaskMode
ScriptInvokerBase< func > ScriptInvoker
Definition tools.c:134