Arma Reforger Explorer 1.7.0.54
Arma Reforger Code Explorer by Zeroy - Thanks to MisterOutofTime
Loading...
Searching...
No Matches
SCR_MoveToRootContextAction.c
Go to the documentation of this file.
3{
4 bool ParentInSelection(SCR_EditableEntityComponent entity, notnull set<SCR_EditableEntityComponent> selectedEntities)
5 {
7 while (parent)
8 {
9 if (selectedEntities.Find(parent) != -1)
10 {
11 return true;
12 }
13 parent = parent.GetParentEntity();
14 }
15 return false;
16 }
17
18
19 override bool CanBeShown(SCR_EditableEntityComponent hoveredEntity, notnull set<SCR_EditableEntityComponent> selectedEntities, vector cursorWorldPosition, int flags)
20 {
22 if (!layersManager || !layersManager.IsEditingLayersEnabled())
23 return false;
24
26 if (!core)
27 return false;
28
29 foreach (SCR_EditableEntityComponent entity : selectedEntities)
30 {
31 if (entity.CanSetParent(null) && entity.GetEntityType() != EEditableEntityType.CHARACTER)
32 return true;
33 }
34
35 return false;
36 }
37
38 override bool CanBePerformed(SCR_EditableEntityComponent hoveredEntity, notnull set<SCR_EditableEntityComponent> selectedEntities, vector cursorWorldPosition, int flags)
39 {
41 if (!layersManager || !layersManager.IsEditingLayersEnabled())
42 return false;
43
44 foreach (SCR_EditableEntityComponent entity : selectedEntities)
45 {
46 if (ParentInSelection(entity, selectedEntities))
47 continue;
48
49 if (entity.GetParentEntity())
50 {
51 return true;
52 }
53 }
54
55 return false;
56 }
57
58 override void Perform(SCR_EditableEntityComponent hoveredEntity, notnull set<SCR_EditableEntityComponent> selectedEntities, vector cursorWorldPosition,int flags, int param = -1)
59 {
61 if (!core)
62 return;
63
64 set<SCR_EditableEntityComponent> entitiesToMove = new set<SCR_EditableEntityComponent>();
65
66 foreach (SCR_EditableEntityComponent entity: selectedEntities)
67 {
68 if (!entity.CanSetParent(null) && entity.GetEntityType() != EEditableEntityType.CHARACTER)
69 continue;
70
71 entitiesToMove.Insert(entity);
72 }
73
75 if (layersManager)
76 {
77 layersManager.MoveToLayerAndSelect(entitiesToMove, null);
78 }
79 }
80
81};
SCR_EAIThreatSectorFlags flags
SCR_AIAnimation_Loitering BaseContainerProps
Commanding menu commanding element class.
class SCR_ArsenalGameModeUIDataHolder SCR_BaseContainerCustomTitleUIInfo("m_UIInfo")
static Managed GetInstance(typename type, bool showError=false, bool modeFirst=false)
EEditableEntityType GetEntityType(IEntity owner=null)
bool CanSetParent(SCR_EditableEntityComponent parentEntity)
SCR_EditableEntityComponent GetParentEntity()
void MoveToLayerAndSelect(notnull set< SCR_EditableEntityComponent > entities, SCR_EditableEntityComponent layer, bool selectParentAfterMove=false)
EEditableEntityType
Defines type of SCR_EditableEntityComponent. Assigned automatically based on IEntity inheritance.