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_SelectionMenuEntryPreviewComponent.c
Go to the documentation of this file.
1
/*
2
Selsection menu entry widget component for displaying 3d rendered objects
3
*/
4
5
//------------------------------------------------------------------------------------------------
6
class
SCR_SelectionMenuEntryPreviewComponent
:
SCR_SelectionMenuEntryComponent
7
{
8
protected
const
float
DEFAULT_FOV
= 10;
9
10
[
Attribute
(
"ItemPreview"
)]
11
protected
string
m_sPreviewItem
;
12
13
[
Attribute
(
"ItemShadow"
,
desc
:
"Reference to Item Shadow"
)]
14
protected
string
m_sItemShadow
;
15
16
[
Attribute
(
"FallbackIcon"
)]
17
protected
string
m_sFallbackIcon
;
18
19
[
Attribute
(
UIColors
.GetColorAttribute(
UIColors
.NEUTRAL_INFORMATION),
UIWidgets
.ColorPicker,
desc
:
"Default color for Item Shadow"
)]
20
protected
ref
Color
m_DefaulItemColor
;
21
22
[
Attribute
(
UIColors
.GetColorAttribute(
UIColors
.NEUTRAL_INFORMATION),
UIWidgets
.ColorPicker,
desc
:
"Medical color for Item Shadow"
)]
23
protected
ref
Color
m_MedicalItemColor
;
24
25
26
protected
ItemPreviewWidget
m_wPreviewItem
;
27
protected
ImageWidget
m_wItemShadow
;
28
protected
ImageWidget
m_wFallbackIcon
;
29
30
protected
IEntity
m_Item
;
31
protected
PreviewRenderAttributes
m_PreviewAttributes
;
32
33
//------------------------------------------------------------------------------------------------
34
override
void
HandlerAttached
(
Widget
w)
35
{
36
super.HandlerAttached(w);
37
38
m_wPreviewItem
=
ItemPreviewWidget
.Cast(
m_wRoot
.FindAnyWidget(
m_sPreviewItem
));
39
m_wItemShadow
=
ImageWidget
.Cast(
m_wRoot
.FindAnyWidget(
m_sItemShadow
));
40
m_wFallbackIcon
=
ImageWidget
.Cast(
m_wRoot
.FindAnyWidget(
m_sFallbackIcon
));
41
}
42
43
//------------------------------------------------------------------------------------------------
45
void
SetPreviewItem
(
IEntity
item)
46
{
47
if
(!
m_wPreviewItem
|| !
m_wFallbackIcon
)
48
{
49
Print
(
"[SCR_SelectionMenuEntryPreviewComponent] - missing widgets!"
,
LogLevel
.DEBUG);
50
return
;
51
}
52
53
// Visibility
54
m_wPreviewItem
.SetVisible(item != null);
55
m_wItemShadow
.SetVisible(item != null);
56
m_wFallbackIcon
.SetVisible(!item);
57
58
m_Item
= item;
59
60
if
(!item)
61
return
;
62
63
64
// Get manager and render preview
65
ChimeraWorld
world =
ChimeraWorld
.CastFrom(item.
GetWorld
());
66
if
(!world)
67
return
;
68
69
ItemPreviewManagerEntity manager = world.GetItemPreviewManager();
70
if
(!manager)
71
return
;
72
73
// Set rendering and preview properties
74
SetupPreviewAttributes
(
m_PreviewAttributes
);
75
manager.SetPreviewItem(
m_wPreviewItem
, item,
m_PreviewAttributes
);
76
m_wPreviewItem
.SetResolutionScale(1, 1);
77
}
78
79
//------------------------------------------------------------------------------------------------
81
protected
void
SetupPreviewAttributes
(out
PreviewRenderAttributes
preview)
82
{
83
if
(!
m_Item
)
84
return
;
85
86
// Inventory item cmp
87
InventoryItemComponent
invetoryItem =
InventoryItemComponent
.Cast(
88
m_Item
.FindComponent(
InventoryItemComponent
));
89
90
if
(!invetoryItem)
91
return
;
92
93
preview =
PreviewRenderAttributes
.Cast(
94
invetoryItem.FindAttribute(
PreviewRenderAttributes
));
95
96
// Get custom radial attribute
97
SCR_SelectionMenuPreviewAttributes
menuPreview =
SCR_SelectionMenuPreviewAttributes
.Cast(
98
invetoryItem.FindAttribute(
SCR_SelectionMenuPreviewAttributes
));
99
100
if
(preview && menuPreview)
101
{
102
preview.ZoomCamera(10, menuPreview.m_fCustomFov, menuPreview.m_fCustomFov);
103
104
// Change widget size
105
if
(preview &&
m_wSizeLayout
&& menuPreview.m_fIconSizeXMultiplier != -1)
106
{
107
float
size
=
m_fOriginalSize
* menuPreview.m_fIconSizeXMultiplier;
108
FrameSlot
.SetSize(
m_wSizeLayout
,
size
,
size
);
109
110
m_fAdjustedSize
=
size
;
111
}
112
113
// Colorize Item shadow
114
if
(menuPreview.m_bShowMedicalColor ==
true
)
115
m_wItemShadow
.SetColor(
m_MedicalItemColor
);
116
else
117
m_wItemShadow
.SetColor(
m_DefaulItemColor
);
118
}
119
else
120
{
121
m_wItemShadow
.SetColor(
m_DefaulItemColor
);
122
}
123
}
124
}
size
int size
Definition
PrefabImporter.c:35
desc
UI Textures DeployMenu Briefing conflict_HintBanner_1_UI desc
Definition
SCR_RespawnBriefingComponent.c:17
ChimeraWorld
Definition
ChimeraWorld.c:13
Color
Definition
Color.c:13
FrameSlot
Definition
FrameSlot.c:13
IEntity
Definition
IEntity.c:13
IEntity::GetWorld
proto external BaseWorld GetWorld()
ImageWidget
Definition
ImageWidget.c:13
InventoryItemComponent
Definition
InventoryItemComponent.c:13
ItemPreviewWidget
Definition
ItemPreviewWidget.c:13
PreviewRenderAttributes
Definition
PreviewRenderAttributes.c:13
SCR_ScriptedWidgetComponent::m_wRoot
Widget m_wRoot
Definition
SCR_ScriptedWidgetComponent.c:9
SCR_SelectionMenuEntryComponent
Definition
SCR_SelectionMenuEntryComponent.c:7
SCR_SelectionMenuEntryComponent::m_fOriginalSize
float m_fOriginalSize
Definition
SCR_SelectionMenuEntryComponent.c:20
SCR_SelectionMenuEntryComponent::m_fAdjustedSize
float m_fAdjustedSize
Definition
SCR_SelectionMenuEntryComponent.c:21
SCR_SelectionMenuEntryComponent::m_wSizeLayout
Widget m_wSizeLayout
Definition
SCR_SelectionMenuEntryComponent.c:23
SCR_SelectionMenuEntryPreviewComponent
Definition
SCR_SelectionMenuEntryPreviewComponent.c:7
SCR_SelectionMenuEntryPreviewComponent::m_wPreviewItem
ItemPreviewWidget m_wPreviewItem
Definition
SCR_SelectionMenuEntryPreviewComponent.c:26
SCR_SelectionMenuEntryPreviewComponent::DEFAULT_FOV
const float DEFAULT_FOV
Definition
SCR_SelectionMenuEntryPreviewComponent.c:8
SCR_SelectionMenuEntryPreviewComponent::m_DefaulItemColor
ref Color m_DefaulItemColor
Definition
SCR_SelectionMenuEntryPreviewComponent.c:20
SCR_SelectionMenuEntryPreviewComponent::m_PreviewAttributes
PreviewRenderAttributes m_PreviewAttributes
Definition
SCR_SelectionMenuEntryPreviewComponent.c:31
SCR_SelectionMenuEntryPreviewComponent::m_wFallbackIcon
ImageWidget m_wFallbackIcon
Definition
SCR_SelectionMenuEntryPreviewComponent.c:28
SCR_SelectionMenuEntryPreviewComponent::m_MedicalItemColor
ref Color m_MedicalItemColor
Definition
SCR_SelectionMenuEntryPreviewComponent.c:23
SCR_SelectionMenuEntryPreviewComponent::SetPreviewItem
void SetPreviewItem(IEntity item)
Prepare preview item and render given entity.
Definition
SCR_SelectionMenuEntryPreviewComponent.c:45
SCR_SelectionMenuEntryPreviewComponent::m_wItemShadow
ImageWidget m_wItemShadow
Definition
SCR_SelectionMenuEntryPreviewComponent.c:27
SCR_SelectionMenuEntryPreviewComponent::m_sItemShadow
string m_sItemShadow
Definition
SCR_SelectionMenuEntryPreviewComponent.c:14
SCR_SelectionMenuEntryPreviewComponent::m_Item
IEntity m_Item
Definition
SCR_SelectionMenuEntryPreviewComponent.c:30
SCR_SelectionMenuEntryPreviewComponent::SetupPreviewAttributes
void SetupPreviewAttributes(out PreviewRenderAttributes preview)
Find and setup preview attributes that should be used in previwe.
Definition
SCR_SelectionMenuEntryPreviewComponent.c:81
SCR_SelectionMenuEntryPreviewComponent::m_sFallbackIcon
string m_sFallbackIcon
Definition
SCR_SelectionMenuEntryPreviewComponent.c:17
SCR_SelectionMenuEntryPreviewComponent::HandlerAttached
override void HandlerAttached(Widget w)
Definition
SCR_SelectionMenuEntryPreviewComponent.c:34
SCR_SelectionMenuEntryPreviewComponent::m_sPreviewItem
string m_sPreviewItem
Definition
SCR_SelectionMenuEntryPreviewComponent.c:11
SCR_SelectionMenuPreviewAttributes
Definition
SCR_SelectionMenu.c:886
UIColors
Definition
Constants.c:17
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
HUD
SelectionMenu
Entries
SCR_SelectionMenuEntryPreviewComponent.c
Generated by
1.17.0