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_SelectOccupantsContextAction.c
Go to the documentation of this file.
1
[
BaseContainerProps
(),
SCR_BaseContainerCustomTitleUIInfo
(
"m_Info"
)]
2
class
SCR_SelectOccupantsContextAction
:
SCR_SelectedEntitiesContextAction
3
{
4
protected
bool
EntityIsOccupied
(
GenericEntity
vehicleEntity)
5
{
6
BaseCompartmentManagerComponent
compartmentManager =
BaseCompartmentManagerComponent
.Cast(vehicleEntity.
FindComponent
(
BaseCompartmentManagerComponent
));
7
if
(!compartmentManager)
return
false
;
8
9
array<BaseCompartmentSlot> compartments =
new
array<BaseCompartmentSlot>;
10
compartmentManager.GetCompartments(compartments);
11
12
foreach
(
BaseCompartmentSlot
slot : compartments)
13
{
14
if
(slot.GetOccupant() != null || slot.AttachedOccupant() != null)
15
{
16
return
true
;
17
}
18
}
19
return
false
;
20
}
21
22
override
bool
CanBeShown
(
SCR_EditableEntityComponent
selectedEntity,
vector
cursorWorldPosition,
int
flags
)
23
{
24
return
selectedEntity != null && selectedEntity.
GetEntityType
() ==
EEditableEntityType
.VEHICLE;
25
}
26
27
override
bool
CanBePerformed
(
SCR_EditableEntityComponent
selectedEntity,
vector
cursorWorldPosition,
int
flags
)
28
{
29
GenericEntity
owner = selectedEntity.GetOwner();
30
return
owner != null &&
EntityIsOccupied
(owner);
31
}
32
33
override
void
Perform
(
SCR_EditableEntityComponent
selectedEntity,
vector
cursorWorldPosition)
34
{
35
GenericEntity
owner = selectedEntity.GetOwner();
36
if
(!owner)
37
return
;
38
39
BaseCompartmentManagerComponent
compartmentManager =
BaseCompartmentManagerComponent
.Cast(owner.
FindComponent
(
BaseCompartmentManagerComponent
));
40
if
(!compartmentManager)
41
return
;
42
43
SCR_BaseEditableEntityFilter
filter =
SCR_BaseEditableEntityFilter
.
GetInstance
(
EEditableEntityState
.SELECTED);
44
if
(!filter)
45
return
;
46
47
array<BaseCompartmentSlot> compartments =
new
array<BaseCompartmentSlot>;
48
compartmentManager.GetCompartments(compartments);
49
50
set<SCR_EditableEntityComponent> toSelect =
new
set<SCR_EditableEntityComponent>();
51
foreach
(
BaseCompartmentSlot
slot: compartments)
52
{
53
IEntity
occupant = slot.GetOccupant();
54
if
(!occupant)
55
occupant = slot.AttachedOccupant();
56
57
if
(!occupant)
58
continue
;
59
60
SCR_EditableEntityComponent
editableOccupant =
SCR_EditableEntityComponent
.
GetEditableEntity
(occupant);
61
if
(editableOccupant)
62
toSelect.Insert(editableOccupant);
63
}
64
65
filter.
Replace
(toSelect);
66
}
67
};
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
BaseCompartmentManagerComponent
Definition
BaseCompartmentManagerComponent.c:13
BaseCompartmentSlot
Definition
BaseCompartmentSlot.c:2
GenericEntity
Definition
GenericEntity.c:16
IEntity
Definition
IEntity.c:13
IEntity::FindComponent
proto external Managed FindComponent(typename typeName)
SCR_BaseEditableEntityFilter
Definition
SCR_BaseEditableEntityFilter.c:14
SCR_BaseEditableEntityFilter::Replace
bool Replace(SCR_EditableEntityComponent entityInsert, bool onlyDirect=false, bool keepExisting=false)
Definition
SCR_BaseEditableEntityFilter.c:425
SCR_BaseEditableEntityFilter::GetInstance
static SCR_BaseEditableEntityFilter GetInstance(EEditableEntityState state, bool showError=false)
Definition
SCR_BaseEditableEntityFilter.c:54
SCR_EditableEntityComponent
Definition
SCR_EditableEntityComponent.c:14
SCR_EditableEntityComponent::GetEditableEntity
static SCR_EditableEntityComponent GetEditableEntity(IEntity owner)
Definition
SCR_EditableEntityComponent.c:919
SCR_EditableEntityComponent::GetEntityType
EEditableEntityType GetEntityType(IEntity owner=null)
Definition
SCR_EditableEntityComponent.c:127
SCR_SelectOccupantsContextAction
Definition
SCR_SelectOccupantsContextAction.c:3
SCR_SelectOccupantsContextAction::CanBePerformed
override bool CanBePerformed(SCR_EditableEntityComponent selectedEntity, vector cursorWorldPosition, int flags)
Definition
SCR_SelectOccupantsContextAction.c:27
SCR_SelectOccupantsContextAction::CanBeShown
override bool CanBeShown(SCR_EditableEntityComponent selectedEntity, vector cursorWorldPosition, int flags)
Definition
SCR_SelectOccupantsContextAction.c:22
SCR_SelectOccupantsContextAction::Perform
override void Perform(SCR_EditableEntityComponent selectedEntity, vector cursorWorldPosition)
Definition
SCR_SelectOccupantsContextAction.c:33
SCR_SelectOccupantsContextAction::EntityIsOccupied
bool EntityIsOccupied(GenericEntity vehicleEntity)
Definition
SCR_SelectOccupantsContextAction.c:4
SCR_SelectedEntitiesContextAction
Definition
SCR_SelectedEntitiesContextAction.c:11
vector
Definition
vector.c:13
EEditableEntityType
EEditableEntityType
Defines type of SCR_EditableEntityComponent. Assigned automatically based on IEntity inheritance.
Definition
EEditableEntityType.c:6
EEditableEntityState
EEditableEntityState
Definition
EEditableEntityState.c:38
scripts
Game
Editor
Containers
Actions
ContextActions
SCR_SelectOccupantsContextAction.c
Generated by
1.17.0