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_AttachementAction.c
Go to the documentation of this file.
1
enum
EWeaponAttachmentActionType
2
{
3
ScopeDetach
,
4
Magazine
,
5
UGL
,
6
Muzzle
7
}
8
9
class
SCR_AttachementAction :
SCR_InventoryAction
10
{
11
#ifndef DISABLE_INVENTORY
12
[
Attribute
(
"0"
, UIWidgets.ComboBox,
""
,
""
, ParamEnumArray.FromEnum(
EWeaponAttachmentActionType
) )]
13
protected
EWeaponAttachmentActionType
m_WeaponAttachmentActionType;
14
15
protected
SCR_InventoryStorageManagerComponent
m_InventoryManager
;
16
protected
IEntity
m_Attachment
;
17
protected
InventoryItemComponent
m_InventoryItemComp
;
18
19
//------------------------------------------------------------------------------------------------
20
override
void
Init
(
IEntity
pOwnerEntity,
GenericComponent
pManagerComponent)
21
{
22
m_InventoryItemComp
=
InventoryItemComponent
.Cast(pOwnerEntity.
FindComponent
(
InventoryItemComponent
));
23
}
24
25
//------------------------------------------------------------------------------------------------
26
override
bool
CanBeShownScript
(
IEntity
user)
27
{
28
if
(!
m_InventoryItemComp
|| !
m_InventoryItemComp
.GetParentSlot())
29
return
false
;
30
31
ChimeraCharacter
character =
ChimeraCharacter
.Cast(
SCR_PlayerController
.
GetLocalControlledEntity
());
32
if
(!character)
33
return
false
;
34
35
CharacterControllerComponent controller = character.GetCharacterController();
36
if
(!controller)
37
return
false
;
38
39
if
(!controller.GetInspect())
40
return
false
;
41
42
BaseWeaponManagerComponent weaponManager = controller.GetWeaponManagerComponent();
43
if
(!weaponManager)
44
return
false
;
45
46
if
(!
m_InventoryManager
)
47
m_InventoryManager
= SCR_InventoryStorageManagerComponent.Cast(character.FindComponent(SCR_InventoryStorageManagerComponent));
48
if
(!
m_InventoryManager
)
49
return
false
;
50
51
BaseWeaponComponent
weaponComp = controller.GetWeaponManagerComponent().GetCurrentWeapon();
52
if
(!weaponComp || weaponComp.GetOwner() !=
m_InventoryItemComp
.GetParentSlot().GetOwner())
53
return
false
;
54
55
m_Attachment
=
m_InventoryItemComp
.GetOwner();
56
57
return
(
m_Attachment
!= null);
58
}
59
60
//------------------------------------------------------------------------------------------------
61
override
bool
CanBePerformedScript
(
IEntity
user)
62
{
63
if
(!
m_InventoryManager
)
64
return
false
;
65
BaseInventoryStorageComponent storage =
m_InventoryManager
.FindStorageForItem(
m_Attachment
);
66
if
(!storage)
67
return
false
;
68
return
m_InventoryManager
.CanMoveItemToStorage(
m_Attachment
, storage);
69
}
70
71
//------------------------------------------------------------------------------------------------
72
override
protected
void
PerformActionInternal
(SCR_InventoryStorageManagerComponent manager,
IEntity
pOwnerEntity,
IEntity
pUserEntity)
73
{
74
BaseInventoryStorageComponent storage =
m_InventoryManager
.FindStorageForItem(
m_Attachment
,
EStoragePurpose
.PURPOSE_EQUIPMENT_ATTACHMENT);
75
76
if
(!storage)
77
storage =
m_InventoryManager
.FindStorageForItem(
m_Attachment
);
78
79
manager.TryMoveItemToStorage(
m_Attachment
, storage);
80
manager.PlayItemSound(pOwnerEntity,
"SOUND_UNEQUIP"
);
81
}
82
83
//------------------------------------------------------------------------------------------------
84
override
bool
GetActionNameScript
(out
string
outName)
85
{
86
if
(!
m_InventoryItemComp
)
87
return
false
;
88
UIInfo
actionInfo =
GetUIInfo
();
89
UIInfo
itemInfo =
m_InventoryItemComp
.GetUIInfo();
90
if
(actionInfo && itemInfo)
91
{
92
outName =
string
.Format(
"%1%2"
, actionInfo.GetName(), itemInfo.GetName());
93
return
true
;
94
}
95
else
96
{
97
return
false
;
98
}
99
}
100
#endif
101
}
Init
override void Init()
Definition
CharacterCameraHandlerComponent.c:40
m_InventoryManager
SCR_InventoryStorageManagerComponent m_InventoryManager
Definition
SCR_AttachementAction.c:15
ScopeDetach
ScopeDetach
Definition
SCR_AttachementAction.c:0
UGL
UGL
Definition
SCR_AttachementAction.c:2
m_Attachment
IEntity m_Attachment
Definition
SCR_AttachementAction.c:16
Magazine
Magazine
Definition
SCR_AttachementAction.c:1
m_InventoryItemComp
InventoryItemComponent m_InventoryItemComp
Definition
SCR_AttachementAction.c:17
EWeaponAttachmentActionType
EWeaponAttachmentActionType
Definition
SCR_AttachementAction.c:2
Muzzle
Muzzle
Definition
SCR_AttachementAction.c:4
BaseUserAction::GetUIInfo
proto external UIInfo GetUIInfo()
Returns the UIInfo set for this user action or null if none.
BaseWeaponComponent
Definition
BaseWeaponComponent.c:13
ChimeraCharacter
Definition
ChimeraCharacter.c:13
GenericComponent
Definition
GenericComponent.c:13
IEntity
Definition
IEntity.c:13
IEntity::FindComponent
proto external Managed FindComponent(typename typeName)
InventoryItemComponent
Definition
InventoryItemComponent.c:13
SCR_InventoryAction
modded version for to be used with the inventory 2.0
Definition
SCR_InventoryAction.c:4
SCR_InventoryAction::CanBePerformedScript
override bool CanBePerformedScript(IEntity user)
Definition
SCR_InventoryAction.c:52
SCR_InventoryAction::GetActionNameScript
override bool GetActionNameScript(out string outName)
Definition
SCR_InventoryAction.c:78
SCR_InventoryAction::CanBeShownScript
override bool CanBeShownScript(IEntity user)
Definition
SCR_InventoryAction.c:30
SCR_InventoryAction::PerformActionInternal
void PerformActionInternal(SCR_InventoryStorageManagerComponent manager, IEntity pOwnerEntity, IEntity pUserEntity)
Definition
SCR_InventoryAction.c:88
SCR_PlayerController
Definition
SCR_PlayerController.c:31
SCR_PlayerController::GetLocalControlledEntity
static IEntity GetLocalControlledEntity()
Definition
SCR_PlayerController.c:495
UIInfo
UIInfo - allows to define UI elements.
Definition
UIInfo.c:14
Attribute
SCR_FieldOfViewSettings Attribute
Definition
SendGoalMessage.c:170
EStoragePurpose
EStoragePurpose
Definition
EStoragePurpose.c:13
scripts
Game
UserActions
SCR_AttachementAction.c
Generated by
1.17.0