Arma Reforger Explorer
1.7.0.54
Arma Reforger Code Explorer by Zeroy - Thanks to MisterOutofTime
Toggle main menu visibility
Loading...
Searching...
No Matches
SCR_HighlightedEditorUIComponent.c
Go to the documentation of this file.
1
2
3
class
SCR_HighlightedEditorUIComponent
:
SCR_BaseEditableEntityUIComponent
4
{
5
[
Attribute
(
"Icon"
)]
6
protected
string
m_ImageWidgetName
;
7
8
[
Attribute
(
"IconText"
)]
9
protected
string
m_TextWidgetName
;
10
11
[
Attribute
(
"Animation"
)]
12
protected
string
m_AnimWidgetName
;
13
14
[
Attribute
(
desc
:
"If Highlight has no specific icon"
)]
15
protected
ResourceName
m_DefaultIcon
;
16
17
[
Attribute
(
desc
:
"If multiple highlights"
)]
18
protected
ResourceName
m_MultiHighlightIcon
;
19
20
[
Attribute
(
desc
:
"Array of highlights and icons"
)]
21
protected
ref array<ref SCR_HighlightVisual>
m_aHighlightVisuals
;
22
23
[
Attribute
(
"1"
)]
24
protected
bool
m_bAnimate
;
25
26
//Ref
27
protected
SCR_HighlightedEditorComponent
m_HighlightedEditorComponent
;
28
protected
ImageWidget
m_ImageWidget
;
29
protected
TextWidget
m_TextWidget
;
30
31
//-------------------------- On Highlight update --------------------------\\
32
33
//------------------------------------------------------------------------------------------------
34
protected
void
OnUpdateHighlight
(
SCR_EditableEntityComponent
entity,
EEditableEntityHighlight
highlight,
int
highlightCount)
35
{
36
if
(entity !=
m_Entity
)
37
return
;
38
39
if
(highlightCount > 1)
40
{
41
m_ImageWidget
.LoadImageTexture(0,
m_MultiHighlightIcon
);
42
m_ImageWidget
.SetImage(0);
43
m_TextWidget
.SetText(highlightCount.ToString());
44
m_TextWidget
.SetVisible(
true
);
45
}
46
else
47
{
48
m_TextWidget
.SetVisible(
false
);
49
foreach
(SCR_HighlightVisual visual:
m_aHighlightVisuals
)
50
{
51
if
(visual.GetHighlightType() == highlight)
52
{
53
m_ImageWidget
.LoadImageTexture(0, visual.GetIcon());
54
m_ImageWidget
.SetImage(0);
55
return
;
56
}
57
}
58
59
//No specific icon found
60
m_ImageWidget
.LoadImageTexture(0,
m_DefaultIcon
);
61
m_ImageWidget
.SetImage(0);
62
}
63
}
64
65
//------------------------------------------------------------------------------------------------
66
protected
void
OnSelectedChange
(
EEditableEntityState
state, set<SCR_EditableEntityComponent> entitiesInsert, set<SCR_EditableEntityComponent> entitiesRemove)
67
{
68
if
(entitiesInsert && entitiesInsert.Contains(
m_Entity
))
69
StopAnimations
(
GetWidget
());
70
}
71
72
//------------------------------------------------------------------------------------------------
73
protected
void
StopAnimations
(
Widget
w)
74
{
75
if
(
m_bAnimate
)
76
{
77
Widget
animWidget = w.FindAnyWidget(
m_AnimWidgetName
);
78
if
(animWidget)
79
{
80
AnimateWidget
.
StopAllAnimations
(animWidget);
81
animWidget.SetVisible(
false
);
82
}
83
84
SCR_BaseEditableEntityFilter
selectedFilter =
SCR_BaseEditableEntityFilter
.
GetInstance
(
EEditableEntityState
.SELECTED);
85
if
(selectedFilter)
86
selectedFilter.
GetOnChanged
().Remove(
OnSelectedChange
);
87
}
88
}
89
90
//-------------------------- Init --------------------------\\
91
92
//---- REFACTOR NOTE START: Hardcoded values for size
93
94
//------------------------------------------------------------------------------------------------
95
override
void
OnInit
(
SCR_EditableEntityComponent
entity,
SCR_UIInfo
info,
SCR_EditableEntityBaseSlotUIComponent
slot)
96
{
97
super.OnInit(entity, info, slot);
98
99
m_HighlightedEditorComponent
=
SCR_HighlightedEditorComponent
.Cast(
SCR_HighlightedEditorComponent
.GetInstance(
SCR_HighlightedEditorComponent
,
true
));
100
if
(!
m_HighlightedEditorComponent
)
101
return
;
102
103
Widget
w =
GetWidget
();
104
m_ImageWidget
=
ImageWidget
.Cast(w.FindAnyWidget(
m_ImageWidgetName
));
105
m_TextWidget
=
TextWidget
.Cast(w.FindAnyWidget(
m_TextWidgetName
));
106
107
EEditableEntityHighlight
highlight;
108
int
highlightCount;
109
110
m_HighlightedEditorComponent
.GetEntityHighlightedState(
m_Entity
, highlight, highlightCount);
111
m_HighlightedEditorComponent
.GetOnUpdateHighlight().Insert(
OnUpdateHighlight
);
112
OnUpdateHighlight
(
m_Entity
, highlight, highlightCount);
113
114
if
(
m_bAnimate
)
115
{
116
Widget
animWidget = w.FindAnyWidget(
m_AnimWidgetName
);
117
118
float
size
[2] = {70, 70};
119
WidgetAnimationBase
anim =
AnimateWidget
.
Opacity
(animWidget, 0, 1);
120
if
(anim)
121
anim.SetRepeat(
true
);
122
123
anim =
AnimateWidget
.
Size
(animWidget,
size
, 1);
124
if
(anim)
125
anim.SetRepeat(
true
);
126
127
SCR_BaseEditableEntityFilter
selectedFilter =
SCR_BaseEditableEntityFilter
.
GetInstance
(
EEditableEntityState
.SELECTED);
128
if
(selectedFilter)
129
selectedFilter.
GetOnChanged
().Insert(
OnSelectedChange
);
130
}
131
}
132
133
//---- REFACTOR NOTE END ----
134
135
//------------------------------------------------------------------------------------------------
136
override
bool
OnClick
(
Widget
w,
int
x,
int
y,
int
button)
137
{
138
StopAnimations
(w);
139
return
super.OnClick(w, x, y, button);
140
}
141
142
//------------------------------------------------------------------------------------------------
143
override
void
HandlerDeattached
(
Widget
w)
144
{
145
super.HandlerDeattached(w);
146
147
if
(
m_HighlightedEditorComponent
&&
m_Entity
)
148
m_HighlightedEditorComponent
.GetOnUpdateHighlight().Remove(
OnUpdateHighlight
);
149
150
StopAnimations
(w);
151
}
152
}
153
154
[
BaseContainerProps
(),
SCR_BaseContainerCustomTitleEnum
(
EEditableEntityHighlight
,
"m_HighlightType"
)]
155
class
SCR_HighlightVisual
156
{
157
[
Attribute
(
"0"
,
UIWidgets
.ComboBox,
""
, enums: ParamEnumArray.FromEnum(
EEditableEntityHighlight
))]
158
protected
EEditableEntityHighlight
m_HighlightType;
159
160
[
Attribute
()]
161
protected
ResourceName
m_Icon
;
162
163
//------------------------------------------------------------------------------------------------
165
EEditableEntityHighlight
GetHighlightType()
166
{
167
return
m_HighlightType;
168
}
169
170
//------------------------------------------------------------------------------------------------
172
ResourceName
GetIcon()
173
{
174
return
m_Icon
;
175
}
176
}
EEditableEntityHighlight
EEditableEntityHighlight
Definition
EEditableEntityHighlight.c:3
size
int size
Definition
PrefabImporter.c:35
m_Entity
enum EAITargetInfoCategory m_Entity
BaseContainerProps
SCR_HighlightedEditorUIComponent SCR_BaseEditableEntityUIComponent BaseContainerProps()
SCR_BaseContainerCustomTitleEnum
SCR_HighlightedEditorUIComponent SCR_BaseEditableEntityUIComponent SCR_BaseContainerCustomTitleEnum(EEditableEntityHighlight, "m_HighlightType")
Definition
SCR_HighlightedEditorUIComponent.c:154
m_ImageWidget
ImageWidget m_ImageWidget
Definition
SCR_HighlightedEditorUIComponent.c:23
desc
UI Textures DeployMenu Briefing conflict_HintBanner_1_UI desc
Definition
SCR_RespawnBriefingComponent.c:17
GetWidget
Widget GetWidget()
Definition
SCR_VonDisplay.c:162
m_Icon
string m_Icon
Definition
SCR_WeaponInfo_MultiWeaponTurret.c:956
WidgetAnimationBase
void WidgetAnimationBase(Widget w, float speed)
Definition
WidgetAnimation.c:308
AnimateWidget
Definition
AnimateWidget.c:3
AnimateWidget::Size
static WidgetAnimationFrameSize Size(Widget widget, float size[2], float speed)
Definition
AnimateWidget.c:213
AnimateWidget::Opacity
static WidgetAnimationOpacity Opacity(Widget widget, float targetValue, float speed, bool toggleVisibility=false)
Definition
AnimateWidget.c:167
AnimateWidget::StopAllAnimations
static void StopAllAnimations(Widget w)
Definition
AnimateWidget.c:73
ImageWidget
Definition
ImageWidget.c:13
ResourceName
Definition
ResourceName.c:13
SCR_BaseEditableEntityFilter
Definition
SCR_BaseEditableEntityFilter.c:14
SCR_BaseEditableEntityFilter::GetOnChanged
ScriptInvokerBase< SCR_BaseEditableEntityFilter_OnChange > GetOnChanged()
Definition
SCR_BaseEditableEntityFilter.c:220
SCR_BaseEditableEntityFilter::GetInstance
static SCR_BaseEditableEntityFilter GetInstance(EEditableEntityState state, bool showError=false)
Definition
SCR_BaseEditableEntityFilter.c:54
SCR_BaseEditableEntityUIComponent
Definition
SCR_BaseEditableEntityUIComponent.c:9
SCR_BaseEditableEntityUIComponent::m_Entity
SCR_EditableEntityComponent m_Entity
Definition
SCR_BaseEditableEntityUIComponent.c:14
SCR_EditableEntityBaseSlotUIComponent
Definition
SCR_EditableEntityBaseSlotUIComponent.c:7
SCR_EditableEntityComponent
Definition
SCR_EditableEntityComponent.c:14
SCR_HighlightedEditorComponent
Definition
SCR_HighlightedEditorComponent.c:12
SCR_HighlightedEditorUIComponent
Is an highlighted icon which, if animated pulsates.
Definition
SCR_HighlightedEditorUIComponent.c:4
SCR_HighlightedEditorUIComponent::m_DefaultIcon
ResourceName m_DefaultIcon
Definition
SCR_HighlightedEditorUIComponent.c:15
SCR_HighlightedEditorUIComponent::OnInit
override void OnInit(SCR_EditableEntityComponent entity, SCR_UIInfo info, SCR_EditableEntityBaseSlotUIComponent slot)
Definition
SCR_HighlightedEditorUIComponent.c:95
SCR_HighlightedEditorUIComponent::OnUpdateHighlight
void OnUpdateHighlight(SCR_EditableEntityComponent entity, EEditableEntityHighlight highlight, int highlightCount)
Definition
SCR_HighlightedEditorUIComponent.c:34
SCR_HighlightedEditorUIComponent::OnClick
override bool OnClick(Widget w, int x, int y, int button)
Definition
SCR_HighlightedEditorUIComponent.c:136
SCR_HighlightedEditorUIComponent::m_aHighlightVisuals
ref array< ref SCR_HighlightVisual > m_aHighlightVisuals
Definition
SCR_HighlightedEditorUIComponent.c:21
SCR_HighlightedEditorUIComponent::m_MultiHighlightIcon
ResourceName m_MultiHighlightIcon
Definition
SCR_HighlightedEditorUIComponent.c:18
SCR_HighlightedEditorUIComponent::m_ImageWidget
ImageWidget m_ImageWidget
Definition
SCR_HighlightedEditorUIComponent.c:28
SCR_HighlightedEditorUIComponent::m_ImageWidgetName
string m_ImageWidgetName
Definition
SCR_HighlightedEditorUIComponent.c:6
SCR_HighlightedEditorUIComponent::m_bAnimate
bool m_bAnimate
Definition
SCR_HighlightedEditorUIComponent.c:24
SCR_HighlightedEditorUIComponent::m_HighlightedEditorComponent
SCR_HighlightedEditorComponent m_HighlightedEditorComponent
Definition
SCR_HighlightedEditorUIComponent.c:27
SCR_HighlightedEditorUIComponent::m_TextWidget
TextWidget m_TextWidget
Definition
SCR_HighlightedEditorUIComponent.c:29
SCR_HighlightedEditorUIComponent::m_AnimWidgetName
string m_AnimWidgetName
Definition
SCR_HighlightedEditorUIComponent.c:12
SCR_HighlightedEditorUIComponent::m_TextWidgetName
string m_TextWidgetName
Definition
SCR_HighlightedEditorUIComponent.c:9
SCR_HighlightedEditorUIComponent::StopAnimations
void StopAnimations(Widget w)
Definition
SCR_HighlightedEditorUIComponent.c:73
SCR_HighlightedEditorUIComponent::HandlerDeattached
override void HandlerDeattached(Widget w)
Definition
SCR_HighlightedEditorUIComponent.c:143
SCR_HighlightedEditorUIComponent::OnSelectedChange
void OnSelectedChange(EEditableEntityState state, set< SCR_EditableEntityComponent > entitiesInsert, set< SCR_EditableEntityComponent > entitiesRemove)
Definition
SCR_HighlightedEditorUIComponent.c:66
SCR_UIInfo
Definition
SCR_UIInfo.c:8
TextWidget
Definition
TextWidget.c:16
UIWidgets
Definition
attributes.c:40
Widget
Definition
Widget.c:13
EEditableEntityState
EEditableEntityState
Definition
EEditableEntityState.c:38
Attribute
SCR_FieldOfViewSettings Attribute
Definition
SendGoalMessage.c:170
scripts
Game
Editor
UI
Components
Common
SCR_HighlightedEditorUIComponent.c
Generated by
1.17.0