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_UserContextAction.c
Go to the documentation of this file.
1
[
BaseContainerProps
(),
SCR_BaseContainerCustomTitleUIInfo
(
"m_Info"
)]
2
class
SCR_UserContextAction
:
SCR_BaseContextAction
3
{
4
protected
SCR_EditableEntityComponent
m_HoveredEntity
;
5
6
override
bool
CanBeShown
(
SCR_EditableEntityComponent
hoveredEntity, notnull set<SCR_EditableEntityComponent> selectedEntities,
vector
cursorWorldPosition,
int
flags
)
7
{
8
if
(!hoveredEntity)
9
return
false
;
10
11
//--- DIRTY HACK - get the entity itself, not the composition the entity is in. ToDo: CLEANER!
12
if
(!
IsServer
())
13
{
14
hoveredEntity =
SCR_BaseEditableEntityFilter
.
GetFirstEntity
(
EEditableEntityState
.HOVER);
15
m_HoveredEntity
= hoveredEntity;
16
17
//~ Tried to set new hovered entity but it was null
18
if
(!hoveredEntity)
19
return
false
;
20
}
21
22
BaseActionsManagerComponent
actionsManager =
BaseActionsManagerComponent
.Cast(hoveredEntity.
GetOwnerScripted
().
FindComponent
(
BaseActionsManagerComponent
));
23
if
(!actionsManager || actionsManager.GetActionsCount() != 1)
24
return
false
;
25
26
ScriptedUserAction
action =
ScriptedUserAction
.Cast(actionsManager.GetFirstAction());
27
if
(!action || !action.
CanBePerformed
(
SCR_EditorManagerEntity
.GetInstance()))
28
return
false
;
29
30
//--- Update info with action name
31
SCR_OverridableUIInfo
info =
SCR_OverridableUIInfo
.Cast(
m_Info
);
32
if
(info)
33
info.SetName(action.
GetActionName
());
34
35
return
true
;
36
}
37
override
bool
CanBePerformed
(
SCR_EditableEntityComponent
hoveredEntity, notnull set<SCR_EditableEntityComponent> selectedEntities,
vector
cursorWorldPosition,
int
flags
)
38
{
39
return
CanBeShown
(hoveredEntity, selectedEntities, cursorWorldPosition,
flags
);
40
}
41
override
void
Perform
(
SCR_EditableEntityComponent
hoveredEntity, notnull set<SCR_EditableEntityComponent> selectedEntities,
vector
cursorWorldPosition,
int
flags
,
int
param = -1)
42
{
43
if
(!hoveredEntity)
44
return
;
45
46
//--- DIRTY HACK - use cached entity from CanBeShown (at this moment entity under cursor may differ). ToDo: CLEANER!
47
if
(!
IsServer
() && hoveredEntity)
48
{
49
hoveredEntity =
m_HoveredEntity
;
50
51
//~ Tried to set new hovered entity but it was null
52
if
(!hoveredEntity)
53
return
;
54
}
55
56
IEntity
owner = hoveredEntity.
GetOwnerScripted
();
57
if
(!owner)
58
return
;
59
60
BaseActionsManagerComponent
actionsManager =
BaseActionsManagerComponent
.Cast(owner.
FindComponent
(
BaseActionsManagerComponent
));
61
if
(!actionsManager || actionsManager.GetActionsCount() != 1)
62
return
;
63
64
ScriptedUserAction
action =
ScriptedUserAction
.Cast(actionsManager.GetFirstAction());
65
if
(!action || !action.
CanBePerformed
(
SCR_EditorManagerEntity
.GetInstance()))
66
return
;
67
68
SCR_WorldEntityDelegateEditorComponent
manager =
SCR_WorldEntityDelegateEditorComponent
.Cast(
SCR_WorldEntityDelegateEditorComponent
.GetInstance(
SCR_WorldEntityDelegateEditorComponent
));
69
if
(manager)
70
manager.
PerformFirstAction
(owner);
71
}
72
};
flags
SCR_EAIThreatSectorFlags flags
Definition
AIControlComponentSerializer.c:16
BaseContainerProps
SCR_AIAnimation_Loitering BaseContainerProps
Commanding menu commanding element class.
Definition
SCR_AIAnimationWaypoint.c:14
SCR_BaseContainerCustomTitleUIInfo
class SCR_ArsenalGameModeUIDataHolder SCR_BaseContainerCustomTitleUIInfo("m_UIInfo")
Definition
SCR_ArsenalManagerComponent.c:1752
SCR_EditorManagerEntity
void SCR_EditorManagerEntity(IEntitySource src, IEntity parent)
Definition
SCR_EditorManagerEntity.c:2211
BaseActionsManagerComponent
Definition
BaseActionsManagerComponent.c:13
BaseUserAction::GetActionName
proto external string GetActionName()
BaseUserAction::CanBePerformed
proto external bool CanBePerformed(IEntity user)
Can this action be performed by the user?
IEntity
Definition
IEntity.c:13
IEntity::FindComponent
proto external Managed FindComponent(typename typeName)
SCR_BaseContextAction
Definition
SCR_BaseContextAction.c:8
SCR_BaseEditableEntityFilter
Definition
SCR_BaseEditableEntityFilter.c:14
SCR_BaseEditableEntityFilter::GetFirstEntity
static SCR_EditableEntityComponent GetFirstEntity(EEditableEntityState state)
Definition
SCR_BaseEditableEntityFilter.c:71
SCR_BaseEditorAction::m_Info
ref SCR_UIInfo m_Info
Definition
SCR_BaseEditorAction.c:30
SCR_BaseEditorAction::IsServer
bool IsServer()
Definition
SCR_BaseEditorAction.c:160
SCR_EditableEntityComponent
Definition
SCR_EditableEntityComponent.c:14
SCR_EditableEntityComponent::GetOwnerScripted
GenericEntity GetOwnerScripted()
Definition
SCR_EditableEntityComponent.c:252
SCR_OverridableUIInfo
Definition
SCR_OverridableUIInfo.c:5
SCR_UserContextAction
Definition
SCR_UserContextAction.c:3
SCR_UserContextAction::CanBePerformed
override bool CanBePerformed(SCR_EditableEntityComponent hoveredEntity, notnull set< SCR_EditableEntityComponent > selectedEntities, vector cursorWorldPosition, int flags)
Definition
SCR_UserContextAction.c:37
SCR_UserContextAction::Perform
override void Perform(SCR_EditableEntityComponent hoveredEntity, notnull set< SCR_EditableEntityComponent > selectedEntities, vector cursorWorldPosition, int flags, int param=-1)
Definition
SCR_UserContextAction.c:41
SCR_UserContextAction::CanBeShown
override bool CanBeShown(SCR_EditableEntityComponent hoveredEntity, notnull set< SCR_EditableEntityComponent > selectedEntities, vector cursorWorldPosition, int flags)
Definition
SCR_UserContextAction.c:6
SCR_UserContextAction::m_HoveredEntity
SCR_EditableEntityComponent m_HoveredEntity
Definition
SCR_UserContextAction.c:4
SCR_WorldEntityDelegateEditorComponent
Definition
SCR_WorldEntityDelegateEditorComponent.c:14
SCR_WorldEntityDelegateEditorComponent::PerformFirstAction
void PerformFirstAction(IEntity owner)
Definition
SCR_WorldEntityDelegateEditorComponent.c:28
ScriptedUserAction
Definition
ScriptedUserAction.c:13
vector
Definition
vector.c:13
EEditableEntityState
EEditableEntityState
Definition
EEditableEntityState.c:38
scripts
Game
Editor
Containers
Actions
ContextActions
SCR_UserContextAction.c
Generated by
1.17.0