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_EditableEntityCustomSlotUIComponent.c
Go to the documentation of this file.
1
class
SCR_EditableEntityCustomSlotUIComponent
:
SCR_EditableEntitySceneSlotUIComponent
2
{
3
[
Attribute
()]
4
protected
string
m_sBoneName
;
5
6
[
Attribute
()]
7
protected
vector
m_vOffset
;
8
9
[
Attribute
(defvalue:
"0"
,
desc
:
"How large the widget is going to be at 1 m distance."
)]
10
protected
float
m_bScaleCoef
;
11
12
protected
GenericEntity
m_Owner
;
13
protected
int
m_iBoneIndex
;
14
protected
CameraManager
m_CameraManager
;
15
16
//------------------------------------------------------------------------------------------------
17
override
vector
UpdateSlot
(
int
screenW,
int
screenH,
vector
posCenter,
vector
posCam)
18
{
19
if
(
m_iBoneIndex
== -1)
20
return
super.UpdateSlot(screenW, screenH, posCenter, posCam);
21
22
if
(
m_Entity
)
23
{
24
vector
transform[4];
25
m_Owner
.GetAnimation().GetBoneMatrix(
m_iBoneIndex
, transform);
26
27
vector
posWorld =
m_Owner
.CoordToParent(transform[3] +
m_vOffset
);
28
vector
pos =
m_Workspace
.ProjWorldToScreen(posWorld,
m_World
);
29
30
if
(
m_bShowOffScreen
)
31
{
32
//--- Show on screen border when off-screen
33
if
(
m_bScaleCoef
!= 0)
34
FrameSlot
.SetSize(
m_Widget
,
m_bScaleCoef
,
m_bScaleCoef
);
35
36
return
ShowOffScreen
(pos, screenW, screenH, posCenter);
37
}
38
else
39
{
40
//--- On-screen only
41
if
(pos[2] > 0)
42
{
43
if
(
m_bScaleCoef
!= 0)
44
{
45
CameraBase camera =
m_CameraManager
.CurrentCamera();
46
if
(camera)
47
{
48
float
size
= (
m_bScaleCoef
* (70 / camera.GetVerticalFOV())) /
vector
.Distance(posWorld, camera.GetWorldTransformAxis(3));
49
FrameSlot
.SetSize(
m_Widget
,
size
,
size
);
50
}
51
}
52
53
FrameSlot
.SetPos(
m_Widget
, pos[0], pos[1]);
54
m_Widget
.SetZOrder(
vector
.Distance(posWorld, posCam));
//--- Don't use DistanceSq, can overflow int
55
m_Widget
.SetVisible(
true
);
56
return
pos;
57
}
58
}
59
}
60
61
m_Widget
.SetVisible(
false
);
62
return
vector
.Zero;
63
}
64
65
//------------------------------------------------------------------------------------------------
66
override
void
InitSlot
(
SCR_EditableEntityComponent
entity)
67
{
68
super.InitSlot(entity);
69
70
m_CameraManager
=
GetGame
().GetCameraManager();
71
72
m_Owner
=
m_Entity
.GetOwner();
73
m_iBoneIndex
=
m_Owner
.GetAnimation().GetBoneIndex(
m_sBoneName
);
74
75
FrameSlot
.SetAlignment(
m_Widget
, 0.5, 0.5);
76
}
77
}
GetGame
ArmaReforgerScripted GetGame()
Definition
game.c:1398
size
int size
Definition
PrefabImporter.c:35
desc
UI Textures DeployMenu Briefing conflict_HintBanner_1_UI desc
Definition
SCR_RespawnBriefingComponent.c:17
FrameSlot
Definition
FrameSlot.c:13
GenericEntity
Definition
GenericEntity.c:16
SCR_EditableEntityBaseSlotUIComponent::m_Entity
SCR_EditableEntityComponent m_Entity
Definition
SCR_EditableEntityBaseSlotUIComponent.c:9
SCR_EditableEntityBaseSlotUIComponent::m_Widget
Widget m_Widget
Definition
SCR_EditableEntityBaseSlotUIComponent.c:8
SCR_EditableEntityComponent
Definition
SCR_EditableEntityComponent.c:14
SCR_EditableEntityCustomSlotUIComponent
Definition
SCR_EditableEntityCustomSlotUIComponent.c:2
SCR_EditableEntityCustomSlotUIComponent::UpdateSlot
override vector UpdateSlot(int screenW, int screenH, vector posCenter, vector posCam)
Definition
SCR_EditableEntityCustomSlotUIComponent.c:17
SCR_EditableEntityCustomSlotUIComponent::m_CameraManager
CameraManager m_CameraManager
Definition
SCR_EditableEntityCustomSlotUIComponent.c:14
SCR_EditableEntityCustomSlotUIComponent::m_iBoneIndex
int m_iBoneIndex
Definition
SCR_EditableEntityCustomSlotUIComponent.c:13
SCR_EditableEntityCustomSlotUIComponent::InitSlot
override void InitSlot(SCR_EditableEntityComponent entity)
Definition
SCR_EditableEntityCustomSlotUIComponent.c:66
SCR_EditableEntityCustomSlotUIComponent::m_bScaleCoef
float m_bScaleCoef
Definition
SCR_EditableEntityCustomSlotUIComponent.c:10
SCR_EditableEntityCustomSlotUIComponent::m_Owner
GenericEntity m_Owner
Definition
SCR_EditableEntityCustomSlotUIComponent.c:12
SCR_EditableEntityCustomSlotUIComponent::m_vOffset
vector m_vOffset
Definition
SCR_EditableEntityCustomSlotUIComponent.c:7
SCR_EditableEntityCustomSlotUIComponent::m_sBoneName
string m_sBoneName
Definition
SCR_EditableEntityCustomSlotUIComponent.c:4
SCR_EditableEntitySceneSlotUIComponent
Definition
SCR_EditableEntitySceneSlotUIComponent.c:2
SCR_EditableEntitySceneSlotUIComponent::m_bShowOffScreen
bool m_bShowOffScreen
Definition
SCR_EditableEntitySceneSlotUIComponent.c:11
SCR_EditableEntitySceneSlotUIComponent::m_Workspace
WorkspaceWidget m_Workspace
Definition
SCR_EditableEntitySceneSlotUIComponent.c:9
SCR_EditableEntitySceneSlotUIComponent::m_World
BaseWorld m_World
Definition
SCR_EditableEntitySceneSlotUIComponent.c:10
SCR_EditableEntitySceneSlotUIComponent::ShowOffScreen
vector ShowOffScreen(vector pos, int screenW, int screenH, vector posCenter)
Definition
SCR_EditableEntitySceneSlotUIComponent.c:126
vector
Definition
vector.c:13
Attribute
SCR_FieldOfViewSettings Attribute
Definition
SendGoalMessage.c:170
scripts
Game
Editor
UI
Components
EditableEntityFilters
SCR_EditableEntityCustomSlotUIComponent.c
Generated by
1.17.0