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_ItemSelectionMenuEntry.c
Go to the documentation of this file.
1
class
SCR_ItemSelectionMenuEntry
:
SCR_SelectionMenuEntry
2
{
3
protected
const
ResourceName
LAYOUT_ITEM
=
"{93472DECDA62C46F}UI/layouts/Common/RadialMenu/SelectionMenuEntryPreview.layout"
;
4
protected
SCR_CharacterInventoryStorageComponent
m_Storage
;
5
protected
int
m_iQuickSlotID
= -1;
6
7
//------------------------------------------------------------------------------------------------
8
override
void
Update
()
9
{
10
SCR_SelectionMenuEntryComponent
entry =
GetEntryComponent
();
11
if
(!entry)
12
return
;
13
14
bool
enabled;
15
string
name;
16
string
description;
17
18
IEntity
item =
GetItem
();
19
if
(item)
20
{
21
enabled =
true
;
22
23
UIInfo
uiInfo =
GetUIInfo
(item);
24
if
(uiInfo)
25
{
26
name = uiInfo.GetName();
27
description = uiInfo.GetDescription();
28
}
29
}
30
31
// Widget setup
32
SetName
(name);
33
34
if
(entry)
35
entry.
SetEnabled
(enabled);
36
37
SCR_SelectionMenuEntryPreviewComponent
entryPreview =
SCR_SelectionMenuEntryPreviewComponent
.Cast(entry);
38
if
(entryPreview)
39
entryPreview.
SetPreviewItem
(item);
40
41
return
;
42
}
43
44
//------------------------------------------------------------------------------------------------
45
int
GetQuickSlotID
()
46
{
47
return
m_iQuickSlotID
;
48
}
49
50
//------------------------------------------------------------------------------------------------
51
void
SetQuickSlotID
(
int
id
)
52
{
53
m_iQuickSlotID
=
id
;
54
}
55
56
//------------------------------------------------------------------------------------------------
57
protected
IEntity
GetItem
()
58
{
59
if
(
m_iQuickSlotID
< 0)
60
return
null;
61
62
if
(!
m_Storage
)
63
return
null;
64
65
array<ref SCR_QuickslotBaseContainer> quickSlotItems =
m_Storage
.GetQuickSlotItems();
66
if
(quickSlotItems &&
m_iQuickSlotID
< quickSlotItems.Count())
67
{
68
SCR_QuickslotEntityContainer
entityContainer =
SCR_QuickslotEntityContainer
.Cast(quickSlotItems[
m_iQuickSlotID
]);
69
if
(entityContainer)
70
return
entityContainer.GetEntity();
71
}
72
73
return
null;
74
}
75
76
//------------------------------------------------------------------------------------------------
78
override
void
OnPerform
()
79
{
80
super.OnPerform();
81
82
IEntity
item =
GetItem
();
83
if
(item &&
m_Storage
&&
m_Storage
.CanUseItem(item))
84
m_Storage
.UseItem(item);
85
}
86
87
//------------------------------------------------------------------------------------------------
88
protected
UIInfo
GetUIInfo
(
IEntity
item)
89
{
90
if
(!item)
91
return
null;
92
93
InventoryItemComponent
itemComponent =
InventoryItemComponent
.Cast(item.
FindComponent
(
InventoryItemComponent
));
94
if
(!itemComponent)
95
return
null;
96
97
return
itemComponent.GetUIInfo();
98
}
99
100
//------------------------------------------------------------------------------------------------
101
void
SCR_ItemSelectionMenuEntry
(notnull
SCR_CharacterInventoryStorageComponent
storage,
int
quickSlotID)
102
{
103
m_Storage
= storage;
104
m_iQuickSlotID
= quickSlotID;
105
106
SetCustomLayout
(
LAYOUT_ITEM
);
107
108
Enable
(
GetItem
() != null);
109
}
110
};
id
AddonBuildInfoTool id
GetUIInfo
SCR_UIInfo GetUIInfo()
Definition
SCR_EditableEntityCampaignBuildingModeLabelSetting.c:27
SCR_QuickslotEntityContainer
void SCR_QuickslotEntityContainer(IEntity entity)
Definition
SCR_QuickslotBaseContainer.c:41
IEntity
Definition
IEntity.c:13
IEntity::FindComponent
proto external Managed FindComponent(typename typeName)
InventoryItemComponent
Definition
InventoryItemComponent.c:13
ResourceName
Definition
ResourceName.c:13
SCR_CharacterInventoryStorageComponent
Definition
SCR_CharacterInventoryStorageComponent.c:90
SCR_ItemSelectionMenuEntry::Update
override void Update()
Definition
SCR_ItemSelectionMenuEntry.c:8
SCR_ItemSelectionMenuEntry::GetQuickSlotID
int GetQuickSlotID()
Definition
SCR_ItemSelectionMenuEntry.c:45
SCR_ItemSelectionMenuEntry::OnPerform
override void OnPerform()
Callback for when this entry is supposed to be performed.
Definition
SCR_ItemSelectionMenuEntry.c:78
SCR_ItemSelectionMenuEntry::m_Storage
SCR_CharacterInventoryStorageComponent m_Storage
Definition
SCR_ItemSelectionMenuEntry.c:4
SCR_ItemSelectionMenuEntry::GetItem
IEntity GetItem()
Definition
SCR_ItemSelectionMenuEntry.c:57
SCR_ItemSelectionMenuEntry::SetQuickSlotID
void SetQuickSlotID(int id)
Definition
SCR_ItemSelectionMenuEntry.c:51
SCR_ItemSelectionMenuEntry::LAYOUT_ITEM
const ResourceName LAYOUT_ITEM
Definition
SCR_ItemSelectionMenuEntry.c:3
SCR_ItemSelectionMenuEntry::SCR_ItemSelectionMenuEntry
void SCR_ItemSelectionMenuEntry(notnull SCR_CharacterInventoryStorageComponent storage, int quickSlotID)
Definition
SCR_ItemSelectionMenuEntry.c:101
SCR_ItemSelectionMenuEntry::GetUIInfo
UIInfo GetUIInfo(IEntity item)
Definition
SCR_ItemSelectionMenuEntry.c:88
SCR_ItemSelectionMenuEntry::m_iQuickSlotID
int m_iQuickSlotID
Definition
SCR_ItemSelectionMenuEntry.c:5
SCR_SelectionMenuEntryComponent
Definition
SCR_SelectionMenuEntryComponent.c:7
SCR_SelectionMenuEntryComponent::SetEnabled
void SetEnabled(bool enabled)
Definition
SCR_SelectionMenuEntryComponent.c:127
SCR_SelectionMenuEntry::SetName
void SetName(string name)
Definition
SCR_SelectionMenuEntry.c:144
SCR_SelectionMenuEntry::Enable
void Enable(bool enable)
Definition
SCR_SelectionMenuEntry.c:109
SCR_SelectionMenuEntry::SCR_SelectionMenuEntry
void SCR_SelectionMenuEntry()
Definition
SCR_SelectionMenuEntry.c:238
SCR_SelectionMenuEntry::GetEntryComponent
SCR_SelectionMenuEntryComponent GetEntryComponent()
Definition
SCR_SelectionMenuEntry.c:210
SCR_SelectionMenuEntry::SetCustomLayout
void SetCustomLayout(ResourceName layout)
Definition
SCR_SelectionMenuEntry.c:181
SCR_SelectionMenuEntryPreviewComponent
Definition
SCR_SelectionMenuEntryPreviewComponent.c:7
SCR_SelectionMenuEntryPreviewComponent::SetPreviewItem
void SetPreviewItem(IEntity item)
Prepare preview item and render given entity.
Definition
SCR_SelectionMenuEntryPreviewComponent.c:45
UIInfo
UIInfo - allows to define UI elements.
Definition
UIInfo.c:14
scripts
Game
UI
HUD
SelectionMenu
Entries
SCR_ItemSelectionMenuEntry.c
Generated by
1.17.0