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_NTTextBase.c
Go to the documentation of this file.
1
//------------------------------------------------------------------------------------------------
3
[
BaseContainerProps
(),
SCR_NameTagElementTitle
()]
4
class
SCR_NTTextBase
:
SCR_NTElementBase
5
{
6
[
Attribute
(
"14"
,
UIWidgets
.CheckBox,
"Scaled text size at the beginning of the zone \n pixels"
)]
7
protected
int
m_fTextSizeMax
;
8
9
[
Attribute
(
"14"
,
UIWidgets
.CheckBox,
"Scaled text size at the end of the zone \n pixels"
)]
10
protected
int
m_fTextSizeMin
;
11
12
[
Attribute
(
"{E2CBA6F76AAA42AF}UI/Fonts/Roboto/Roboto_Regular.fnt"
,
UIWidgets
.ResourceNamePicker,
desc
:
"Font type"
,
params
:
"fnt"
)]
13
protected
ResourceName
m_FontResource
;
14
15
//------------------------------------------------------------------------------------------------
20
protected
void
GetText
(
SCR_NameTagData
data
, out
string
name, out notnull array<string> nameParams)
21
{
22
return
;
23
}
24
25
//------------------------------------------------------------------------------------------------
28
protected
void
SetText
(
SCR_NameTagData
data
,
string
text, notnull array<string> nameParams,
int
index
)
29
{
30
if
(!
data
.m_aNametagElements[
index
])
31
return
;
32
33
int
paramsCount = nameParams.Count();
34
35
if
(paramsCount == 0)
36
TextWidget
.Cast(
data
.m_aNametagElements[
index
] ).SetText(text);
37
else
if
(paramsCount == 3)
38
TextWidget
.Cast(
data
.m_aNametagElements[
index
] ).SetTextFormat(text, nameParams[0], nameParams[1], nameParams[2]);
39
else
40
{
41
Print
(
string
.Format(
"'SCR_NTTextBase' does not support nameParams of count '%1'!"
, paramsCount),
LogLevel
.ERROR);
42
TextWidget
.Cast(
data
.m_aNametagElements[
index
] ).SetText(text);
43
}
44
45
}
46
47
//------------------------------------------------------------------------------------------------
48
override
protected
void
ScaleElement
(
SCR_NameTagData
data
,
int
index
)
49
{
50
Widget
widget =
data
.m_aNametagElements[
index
];
51
if
(!widget)
52
return
;
53
54
//At least one zone always need to be defined
55
SCR_NameTagZone
zone
=
SCR_NameTagDisplay
.
GetNametagZones
().Get(
data
.m_iZoneID);
56
if
(!
zone
)
57
return
;
58
59
float
diff =
m_fTextSizeMax
-
m_fTextSizeMin
;
60
61
// avoid 0 as a starting point
62
int
zoneStart =
zone
.GetZoneStart();
63
if
( zoneStart < 1 )
64
zoneStart = 1;
65
66
float
lerp =
Math
.InverseLerp(zoneStart,
zone
.m_iZoneEnd,
data
.m_fDistance);
67
diff = diff * lerp;
68
69
float
x =
FrameSlot
.GetSizeX(widget);
70
float
y =
FrameSlot
.GetSizeY(widget);
71
float
ratio = x / y;
72
73
float
scaledY =
m_fTextSizeMax
- diff;
74
75
FrameSlot
.SetSizeY(widget, scaledY);
76
FrameSlot
.SetSizeX(widget, scaledY * ratio);
77
}
78
79
//------------------------------------------------------------------------------------------------
80
override
void
SetDefaults
(
SCR_NameTagData
data
,
int
index
)
81
{
82
TextWidget
tWidget =
TextWidget
.Cast(
data
.m_aNametagElements[
index
] );
83
if
(!tWidget)
84
return
;
85
86
SCR_NTStateText
stateConf =
SCR_NTStateText
.Cast(
GetEntityStateConfig
(
data
) );
87
if
(!stateConf)
88
return
;
89
90
tWidget.SetFont(
m_FontResource
);
91
92
if
(!
m_bScaleElement
)
93
tWidget.SetExactFontSize(
m_fTextSizeMax
);
94
95
tWidget.SetColor(stateConf.m_vColor);
96
tWidget.SetShadow( stateConf.m_fShadowSize, stateConf.m_vShadowColor.PackToInt(), stateConf.m_fShadowOpacity, 0, 0);
97
98
data
.SetVisibility(tWidget, stateConf.m_fOpacityDefault != 0, stateConf.m_fOpacityDefault, stateConf.m_bAnimateTransition);
// transitions
99
}
100
};
101
102
//------------------------------------------------------------------------------------------------
104
[
BaseContainerProps
(),
SCR_NameTagElementTitle
()]
105
class
SCR_NTName
:
SCR_NTTextBase
106
{
107
//------------------------------------------------------------------------------------------------
108
override
void
GetText
(
SCR_NameTagData
data
, out
string
name, out notnull array<string> nameParams)
109
{
110
data
.UpdateEntityType();
111
data
.GetName(name, nameParams);
112
}
113
114
//------------------------------------------------------------------------------------------------
115
override
void
UpdateElement(
SCR_NameTagData
data
,
int
index
)
116
{
117
super.UpdateElement(
data
,
index
);
118
119
if
(
data
.m_Flags &
ENameTagFlags
.NAME_UPDATE ||
data
.m_Flags &
ENameTagFlags
.ENT_TYPE_UPDATE)
120
{
121
string
name;
122
array<string> nameParams = {};
123
124
GetText
(
data
, name, nameParams);
125
126
if
(name.IsEmpty())
127
SetText
(
data
,
"GETNAME_ERROR"
, nameParams,
index
);
128
else
129
{
130
SetText
(
data
, name, nameParams,
index
);
131
data
.m_Flags &=
~ENameTagFlags
.NAME_UPDATE;
132
data
.m_Flags &=
~ENameTagFlags
.ENT_TYPE_UPDATE;
133
}
134
}
135
}
136
};
137
138
//------------------------------------------------------------------------------------------------
140
[
BaseContainerProps
(),
SCR_NameTagElementTitle
()]
141
class
SCR_NTTextDebug
:
SCR_NTTextBase
142
{
143
//------------------------------------------------------------------------------------------------
144
override
void
GetText
(
SCR_NameTagData
data
, out
string
name, out notnull array<string> nameParams)
145
{
146
name =
Math
.Round(
Math
.Sqrt(
data
.m_fDistance)).ToString();
147
}
148
149
//------------------------------------------------------------------------------------------------
150
override
void
UpdateElement(
SCR_NameTagData
data
,
int
index
)
151
{
152
super.UpdateElement(
data
,
index
);
153
154
string
name;
155
array<string> nameParams = {};
156
157
GetText
(
data
, name, nameParams);
158
SetText
(
data
, name, nameParams,
index
);
159
}
160
};
BaseContainerProps
SCR_AIAnimation_Loitering BaseContainerProps
Commanding menu commanding element class.
Definition
SCR_AIAnimationWaypoint.c:14
GetText
string GetText()
Definition
SCR_BaseEditorAttribute.c:488
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
ENameTagFlags
ENameTagFlags
Nametag flags.
Definition
SCR_NameTagData.c:20
desc
UI Textures DeployMenu Briefing conflict_HintBanner_1_UI desc
Definition
SCR_RespawnBriefingComponent.c:17
params
category params
Definition
SCR_SpherePointGeneratorPreviewComponent.c:21
FrameSlot
Definition
FrameSlot.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_NTName
Nametag element for name text.
Definition
SCR_NTTextBase.c:106
SCR_NTStateText
Nametag text element state config.
Definition
SCR_NTElementBase.c:152
SCR_NTTextBase
Base nametag element for text.
Definition
SCR_NTTextBase.c:5
SCR_NTTextBase::m_fTextSizeMin
int m_fTextSizeMin
Definition
SCR_NTTextBase.c:10
SCR_NTTextBase::ScaleElement
void ScaleElement(SCR_NameTagData data, int index)
Definition
SCR_NTTextBase.c:48
SCR_NTTextBase::GetText
void GetText(SCR_NameTagData data, out string name, out notnull array< string > nameParams)
Definition
SCR_NTTextBase.c:20
SCR_NTTextBase::SetDefaults
override void SetDefaults(SCR_NameTagData data, int index)
Definition
SCR_NTTextBase.c:80
SCR_NTTextBase::SetText
void SetText(SCR_NameTagData data, string text, notnull array< string > nameParams, int index)
Definition
SCR_NTTextBase.c:28
SCR_NTTextBase::m_fTextSizeMax
int m_fTextSizeMax
Definition
SCR_NTTextBase.c:7
SCR_NTTextBase::m_FontResource
ResourceName m_FontResource
Definition
SCR_NTTextBase.c:13
SCR_NTTextDebug
Nametag element for distance debug text.
Definition
SCR_NTTextBase.c:142
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
TextWidget
Definition
TextWidget.c:16
UIWidgets
Definition
attributes.c:40
Widget
Definition
Widget.c:13
Print
proto void Print(void var, LogLevel level=LogLevel.NORMAL)
Prints content of variable to console/log.
LogLevel
LogLevel
Enum with severity of the logging message.
Definition
LogLevel.c:14
Attribute
SCR_FieldOfViewSettings Attribute
Definition
SendGoalMessage.c:170
scripts
Game
UI
Nametags
NTZoneElements
SCR_NTTextBase.c
Generated by
1.17.0