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_NTIconBase.c
Go to the documentation of this file.
1
//------------------------------------------------------------------------------------------------
3
[
BaseContainerProps
(),
SCR_NameTagElementTitle
()]
4
class
SCR_NTIconBase
:
SCR_NTElementBase
5
{
6
[
Attribute
(
"{70E828A2F6EBE7D0}UI/Textures/Nametags/nametagicons.imageset"
,
UIWidgets
.ResourceNamePicker,
desc
:
"Imageset selection"
,
params
:
"imageset"
)]
7
ResourceName
m_sImageset;
8
9
[
Attribute
(
"64"
,
UIWidgets
.CheckBox,
"Scaled icon size at the beginning of the zone \n pix*pix"
)]
10
protected
float
m_iImageSizeMax
;
11
12
[
Attribute
(
"64"
,
UIWidgets
.CheckBox,
"Scaled icon size at the end of the zone \n pix*pix"
)]
13
protected
float
m_iImageSizeMin
;
14
15
//------------------------------------------------------------------------------------------------
16
override
protected
void
ScaleElement
(
SCR_NameTagData
data
,
int
index
)
17
{
18
ImageWidget
widget =
ImageWidget
.Cast(
data
.m_aNametagElements[
index
] );
19
if
(!widget)
20
return
;
21
22
//At least one zone always need to be defined
23
SCR_NameTagZone
zone
=
SCR_NameTagDisplay
.
GetNametagZones
().Get(
data
.m_iZoneID);
24
if
(!
zone
)
25
return
;
26
27
float
diff =
m_iImageSizeMax
-
m_iImageSizeMin
;
28
29
// avoid 0 as a starting point
30
int
zoneStart =
zone
.GetZoneStart();
31
if
( zoneStart < 1 )
32
zoneStart = 1;
33
34
float
lerp =
Math
.InverseLerp(zoneStart,
zone
.m_iZoneEnd,
data
.m_fDistance);
35
diff = diff * lerp;
36
// final size
37
diff = (
m_iImageSizeMax
- diff );
38
39
widget.SetSize(diff, diff);
40
}
41
42
//------------------------------------------------------------------------------------------------
43
override
void
SetDefaults
(
SCR_NameTagData
data
,
int
index
)
44
{
45
ImageWidget
iWidget =
ImageWidget
.Cast(
data
.m_aNametagElements[
index
] );
46
if
(!iWidget)
47
return
;
48
49
SCR_NTStateIcon
stateConf =
SCR_NTStateIcon
.Cast(
GetEntityStateConfig
(
data
) );
50
if
(!stateConf)
51
return
;
52
53
if
(!m_sImageset.IsEmpty() && !stateConf.m_sImagesetQuad.IsEmpty())
54
iWidget.LoadImageFromSet(0, m_sImageset, stateConf.m_sImagesetQuad);
55
56
if
(!
m_bScaleElement
)
57
FrameSlot
.SetSize(iWidget,
m_iImageSizeMin
,
m_iImageSizeMin
);
58
59
iWidget.SetColor(stateConf.m_vColor);
60
61
data
.SetVisibility(iWidget, stateConf.m_fOpacityDefault != 0, stateConf.m_fOpacityDefault, stateConf.m_bAnimateTransition);
// transitions
62
}
63
};
64
65
//------------------------------------------------------------------------------------------------
67
[
BaseContainerProps
(),
SCR_NameTagElementTitle
()]
68
class
SCR_NTIconState
:
SCR_NTIconBase
69
{
70
[
Attribute
(
"0"
,
UIWidgets
.CheckBox,
"Whether this element should use defined faction rank icons in default state"
)]
71
protected
bool
m_bUseRanks
;
72
73
//------------------------------------------------------------------------------------------------
74
override
void
SetDefaults
(
SCR_NameTagData
data
,
int
index
)
75
{
76
super.SetDefaults(
data
,
index
);
77
78
// if using ranks
79
if
(!
m_bUseRanks
)
80
return
;
81
82
ImageWidget
iWidget =
ImageWidget
.Cast(
data
.m_aNametagElements[
index
] );
83
if
(iWidget)
84
{
85
SCR_NTStateIcon
stateConf =
SCR_NTStateIcon
.Cast(
GetEntityStateConfig
(
data
) );
86
if
(stateConf)
87
{
88
if
(stateConf.m_eEntityState ==
ENameTagEntityState
.DEFAULT)
89
{
90
ResourceName
rankIcon =
SCR_CharacterRankComponent
.GetCharacterRankInsignia(
data
.m_Entity);
91
if
(rankIcon)
92
iWidget.LoadImageTexture(0, rankIcon);
93
}
94
}
95
}
96
}
97
};
98
99
100
[
BaseContainerProps
(),
SCR_NameTagElementTitle
()]
101
class
SCR_NTIconPlatform
:
SCR_NTIconBase
102
{
103
BaseContainer
m_GameplaySettings;
104
105
//------------------------------------------------------------------------------------------------
106
override
void
SetDefaults(
SCR_NameTagData
data
,
int
index
)
107
{
108
ImageWidget
iWidget =
ImageWidget
.Cast(
data
.m_aNametagElements[
index
] );
109
if
(!iWidget)
110
return
;
111
112
if
(!m_GameplaySettings)
113
m_GameplaySettings =
GetGame
().GetGameUserSettings().GetModule(
"SCR_GameplaySettings"
);
114
115
data
.SetVisibility(iWidget,
false
, 0,
false
);
116
117
if
(!
m_bScaleElement
)
118
FrameSlot
.SetSize(iWidget,
m_iImageSizeMin
,
m_iImageSizeMin
);
119
120
if
(
data
.m_eType !=
ENameTagEntityType
.PLAYER &&
data
.m_eType !=
ENameTagEntityType
.VEHICLE)
121
return
;
122
123
SCR_PlayerController
playerController =
SCR_PlayerController
.Cast(
GetGame
().
GetPlayerController
());
124
if
(!playerController)
125
return
;
126
127
bool
showOnPC;
128
if
(m_GameplaySettings)
129
m_GameplaySettings.Get(
"m_bPlatformIconNametag"
, showOnPC);
130
131
if
(
data
.m_eType ==
ENameTagEntityType
.PLAYER)
132
{
133
if
(playerController.SetPlatformImageTo(
data
.m_iPlayerID, iWidget, showOnPC : showOnPC))
134
data
.SetVisibility(iWidget,
true
, 100,
false
);
135
}
136
else
if
(
data
.m_eType ==
ENameTagEntityType
.VEHICLE)
137
{
138
SCR_VehicleTagData
tagData =
SCR_VehicleTagData
.Cast(
data
);
139
if
(!
data
)
140
return
;
141
142
if
(playerController.SetPlatformImageTo(tagData.GetMainPlayerID(), iWidget, showOnPC : showOnPC))
143
data
.SetVisibility(iWidget,
true
, 100,
false
);
144
}
145
}
146
147
//------------------------------------------------------------------------------------------------
148
override
void
UpdateElement(
SCR_NameTagData
data
,
int
index
)
149
{
150
super.UpdateElement(
data
,
index
);
151
152
if
(!
data
.m_aNametagElements[
index
])
153
return
;
154
155
if
(
data
.m_eType !=
ENameTagEntityType
.PLAYER &&
data
.m_eType !=
ENameTagEntityType
.VEHICLE)
156
return
;
157
158
ImageWidget
image =
ImageWidget
.Cast(
data
.m_aNametagElements[
index
]);
159
if
(!image)
160
return
;
161
162
SCR_PlayerController
playerController =
SCR_PlayerController
.Cast(
GetGame
().
GetPlayerController
());
163
if
(!playerController)
164
return
;
165
166
bool
showOnPC;
167
if
(m_GameplaySettings)
168
m_GameplaySettings.Get(
"m_bPlatformIconNametag"
, showOnPC);
169
170
if
(
data
.m_eType ==
ENameTagEntityType
.PLAYER)
171
{
172
if
(playerController.SetPlatformImageTo(
data
.m_iPlayerID, image, showOnPC : showOnPC))
173
data
.SetVisibility(image,
true
, 100,
false
);
174
}
175
else
if
(
data
.m_eType ==
ENameTagEntityType
.VEHICLE)
176
{
177
SCR_VehicleTagData
tagData =
SCR_VehicleTagData
.Cast(
data
);
178
if
(!tagData)
179
return
;
180
181
if
(playerController.SetPlatformImageTo(tagData.GetMainPlayerID(), image, showOnPC : showOnPC))
182
tagData.SetVisibility(image,
true
, 100,
false
);
183
}
184
}
185
}
GetGame
ArmaReforgerScripted GetGame()
Definition
game.c:1398
BaseContainerProps
SCR_AIAnimation_Loitering BaseContainerProps
Commanding menu commanding element class.
Definition
SCR_AIAnimationWaypoint.c:14
SCR_CharacterRankComponent
void SCR_CharacterRankComponent(IEntityComponentSource src, IEntity ent, IEntity parent)
Definition
SCR_CharacterRankComponent.c:306
index
SCR_DestructionSynchronizationComponentClass ScriptComponentClass int index
Definition
SCR_DestructionSynchronizationComponent.c:17
data
Get all prefabs that have the spawner data
Definition
SCR_EntityCatalogManagerComponent.c:320
zone
it takes to automatically cancel a task when no enemy has been killed in the zone
Definition
SCR_HoldCampaignMilitaryBaseTaskEntity.c:15
ENameTagEntityType
ENameTagEntityType
Tag entity type.
Definition
SCR_NameTagData.c:48
ENameTagEntityState
ENameTagEntityState
Definition
SCR_NameTagData.c:5
desc
UI Textures DeployMenu Briefing conflict_HintBanner_1_UI desc
Definition
SCR_RespawnBriefingComponent.c:17
params
category params
Definition
SCR_SpherePointGeneratorPreviewComponent.c:21
BaseContainer
Definition
BaseContainer.c:13
FrameSlot
Definition
FrameSlot.c:13
ImageWidget
Definition
ImageWidget.c:13
Math
Definition
Math.c:13
ResourceName
Definition
ResourceName.c:13
SCR_NTElementBase::SCR_NTElementBase
void SCR_NTElementBase()
Definition
SCR_NTElementBase.c:104
SCR_NTElementBase::m_bScaleElement
bool m_bScaleElement
Definition
SCR_NTElementBase.c:27
SCR_NTElementBase::GetEntityStateConfig
SCR_NTStateConfigBase GetEntityStateConfig(SCR_NameTagData data)
Definition
SCR_NTElementBase.c:51
SCR_NTIconBase
Base zone element widget for icons/images.
Definition
SCR_NTIconBase.c:5
SCR_NTIconBase::m_iImageSizeMax
float m_iImageSizeMax
Definition
SCR_NTIconBase.c:10
SCR_NTIconBase::SetDefaults
override void SetDefaults(SCR_NameTagData data, int index)
Definition
SCR_NTIconBase.c:43
SCR_NTIconBase::ScaleElement
void ScaleElement(SCR_NameTagData data, int index)
Definition
SCR_NTIconBase.c:16
SCR_NTIconBase::m_iImageSizeMin
float m_iImageSizeMin
Definition
SCR_NTIconBase.c:13
SCR_NTIconPlatform
Definition
SCR_NTIconBase.c:102
SCR_NTIconState
Zone element for state icon.
Definition
SCR_NTIconBase.c:69
SCR_NTIconState::m_bUseRanks
bool m_bUseRanks
Definition
SCR_NTIconBase.c:71
SCR_NTIconState::SetDefaults
override void SetDefaults(SCR_NameTagData data, int index)
Definition
SCR_NTIconBase.c:74
SCR_NTStateIcon
Nametag icon element state config.
Definition
SCR_NTElementBase.c:167
SCR_NameTagData
Nametag data.
Definition
SCR_NameTagData.c:57
SCR_NameTagDisplay
Definition
SCR_NameTagDisplay.c:5
SCR_NameTagDisplay::GetNametagZones
static array< ref SCR_NameTagZone > GetNametagZones()
Definition
SCR_NameTagDisplay.c:33
SCR_NameTagElementTitle
Custom names nametag element config.
Definition
SCR_NTElementBase.c:4
SCR_NameTagZone
Nametag zone config setup.
Definition
SCR_NameTagConfig.c:110
SCR_PlayerController
Definition
SCR_PlayerController.c:31
SCR_VehicleTagData
Definition
SCR_VehicleTagData.c:3
UIWidgets
Definition
attributes.c:40
Attribute
SCR_FieldOfViewSettings Attribute
Definition
SendGoalMessage.c:170
GetPlayerController
proto external PlayerController GetPlayerController()
Definition
SCR_PlayerDeployMenuHandlerComponent.c:307
scripts
Game
UI
Nametags
NTZoneElements
SCR_NTIconBase.c
Generated by
1.17.0