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_PlayerEditableEntityUIComponent.c
Go to the documentation of this file.
1
//#define FAKE_PLAYER //--- Allow placing AIs which are pretending to be players. Used for video capture.
2
3
class
SCR_PlayerEditableEntityUIComponent
:
SCR_BaseEditableEntityUIComponent
4
{
5
[
Attribute
(
"1 1 1 1"
)]
6
protected
ref
Color
m_ColorPossessed
;
7
8
[
Attribute
(
"Name"
)]
9
protected
string
m_sPlayerNameWidgetName
;
10
11
[
Attribute
(
"PlatformIcon"
)]
12
protected
string
m_sPlatformIconWidgetName
;
13
14
//------------------------------------------------------------------------------------------------
15
protected
void
SetName
(
TextWidget
nameWidget,
int
playerID)
16
{
17
string
playerName =
SCR_PlayerNamesFilterCache
.GetInstance().GetPlayerDisplayName(playerID);
18
if
(playerName.IsEmpty())
19
return
;
20
21
nameWidget.SetText(playerName);
22
GetGame
().GetCallqueue().Remove(
SetName
);
23
}
24
25
override
void
OnShownOffScreen
(
bool
offScreen)
26
{
27
Widget
nameWidget =
GetWidget
().FindAnyWidget(
m_sPlayerNameWidgetName
);
28
if
(!nameWidget)
29
return
;
30
31
if
(offScreen)
32
nameWidget.SetOpacity(0);
33
else
34
nameWidget.SetOpacity(1);
35
}
36
37
//------------------------------------------------------------------------------------------------
38
override
void
OnInit
(
SCR_EditableEntityComponent
entity,
SCR_UIInfo
info,
SCR_EditableEntityBaseSlotUIComponent
slot)
39
{
40
Widget
widget =
GetWidget
();
41
if
(!widget)
42
return
;
43
44
TextWidget
nameWidget =
TextWidget
.Cast(widget.FindAnyWidget(
m_sPlayerNameWidgetName
));
45
if
(!nameWidget)
46
return
;
47
48
int
playerID;
49
SCR_EditablePlayerDelegateComponent delegate = SCR_EditablePlayerDelegateComponent.Cast(entity);
50
if
(delegate)
51
{
52
playerID = delegate.GetPlayerID();
53
}
54
else
55
{
56
SCR_PlayersManagerEditorComponent
playersManager =
SCR_PlayersManagerEditorComponent
.Cast(
SCR_PlayersManagerEditorComponent
.GetInstance(
SCR_PlayersManagerEditorComponent
));
57
if
(playersManager)
58
{
59
playerID = playersManager.
GetPlayerID
(entity);
60
if
(playersManager.
IsPossessed
(entity))
61
widget.SetColor(
m_ColorPossessed
);
62
}
63
}
64
65
if
(playerID == 0)
66
return
;
67
68
ArmaReforgerScripted
game
=
GetGame
();
69
if
(!
game
)
70
return
;
71
72
//--- Assign name after it's been initialized (ToDo: Better solution? Callback?)
73
if
(
game
.GetCallqueue())
74
game
.GetCallqueue().CallLater(
SetName
, 0,
true
, nameWidget, playerID);
75
76
ImageWidget
platformImage =
ImageWidget
.Cast(widget.FindAnyWidget(
m_sPlatformIconWidgetName
));
77
if
(platformImage)
78
SCR_PlayerController
.Cast(
game
.GetPlayerController()).SetPlatformImageTo(playerID, platformImage);
79
80
SCR_EditableEntitySceneSlotUIComponent
sceneSlot =
SCR_EditableEntitySceneSlotUIComponent
.Cast(slot);
81
if
(sceneSlot && sceneSlot.
GetOffScreenWidget
())
82
sceneSlot.
GetOffScreenWidget
().SetColor(widget.GetColor());
83
}
84
}
game
ref DSGameConfig game
Definition
DSConfig.c:81
GetGame
ArmaReforgerScripted GetGame()
Definition
game.c:1398
GetWidget
Widget GetWidget()
Definition
SCR_VonDisplay.c:162
Color
Definition
Color.c:13
ImageWidget
Definition
ImageWidget.c:13
SCR_BaseEditableEntityUIComponent
Definition
SCR_BaseEditableEntityUIComponent.c:9
SCR_EditableEntityBaseSlotUIComponent
Definition
SCR_EditableEntityBaseSlotUIComponent.c:7
SCR_EditableEntityComponent
Definition
SCR_EditableEntityComponent.c:14
SCR_EditableEntitySceneSlotUIComponent
Definition
SCR_EditableEntitySceneSlotUIComponent.c:2
SCR_EditableEntitySceneSlotUIComponent::GetOffScreenWidget
Widget GetOffScreenWidget()
Definition
SCR_EditableEntitySceneSlotUIComponent.c:88
SCR_PlayerController
Definition
SCR_PlayerController.c:31
SCR_PlayerEditableEntityUIComponent
Definition
SCR_PlayerEditableEntityUIComponent.c:4
SCR_PlayerEditableEntityUIComponent::SetName
void SetName(TextWidget nameWidget, int playerID)
Definition
SCR_PlayerEditableEntityUIComponent.c:15
SCR_PlayerEditableEntityUIComponent::m_sPlayerNameWidgetName
string m_sPlayerNameWidgetName
Definition
SCR_PlayerEditableEntityUIComponent.c:9
SCR_PlayerEditableEntityUIComponent::OnInit
override void OnInit(SCR_EditableEntityComponent entity, SCR_UIInfo info, SCR_EditableEntityBaseSlotUIComponent slot)
Definition
SCR_PlayerEditableEntityUIComponent.c:38
SCR_PlayerEditableEntityUIComponent::m_ColorPossessed
ref Color m_ColorPossessed
Definition
SCR_PlayerEditableEntityUIComponent.c:6
SCR_PlayerEditableEntityUIComponent::m_sPlatformIconWidgetName
string m_sPlatformIconWidgetName
Definition
SCR_PlayerEditableEntityUIComponent.c:12
SCR_PlayerEditableEntityUIComponent::OnShownOffScreen
override void OnShownOffScreen(bool offScreen)
Definition
SCR_PlayerEditableEntityUIComponent.c:25
SCR_PlayerNamesFilterCache
Definition
SCR_PlayerNamesFilterCache.c:3
SCR_PlayersManagerEditorComponent
Definition
SCR_PlayersManagerEditorComponent.c:10
SCR_PlayersManagerEditorComponent::IsPossessed
bool IsPossessed(SCR_EditableEntityComponent entity)
Definition
SCR_PlayersManagerEditorComponent.c:53
SCR_PlayersManagerEditorComponent::GetPlayerID
int GetPlayerID(SCR_EditableEntityComponent entity)
Definition
SCR_PlayersManagerEditorComponent.c:42
SCR_UIInfo
Definition
SCR_UIInfo.c:8
TextWidget
Definition
TextWidget.c:16
Widget
Definition
Widget.c:13
Attribute
SCR_FieldOfViewSettings Attribute
Definition
SendGoalMessage.c:170
scripts
Game
Editor
UI
Components
EditableEntities
SCR_PlayerEditableEntityUIComponent.c
Generated by
1.17.0