Arma Reforger Explorer 1.7.0.54
Arma Reforger Code Explorer by Zeroy - Thanks to MisterOutofTime
Loading...
Searching...
No Matches
SCR_ChooseAndSpawnOccupantsContextAction.c
Go to the documentation of this file.
3{
4 [Attribute(desc: "Compartments Types to fill when chosing entities.", uiwidget: UIWidgets.ComboBox, enums: ParamEnumArray.FromEnum(ECompartmentType))]
5 protected ref array<ECompartmentType> m_aCompartmentsTypes;
6
7 [Attribute(desc: "Opens content browser and shows single characters only")]
9
10 [Attribute(desc: "Opens content browser and shows single characters and small groups")]
12
13 [Attribute(desc: "Opens content browser and shows single characters, small groups and medium groups")]
15
16 [Attribute(desc: "Opens content browser and shows single characters, small groups medium groups and large groups")]
18
19 [Attribute("5", desc: "This free compartment amount or higher need to be availible or more in order for 'large' filter label to be set in the content browser. Allowing those groups sizes (and lower) to be placed", params: "1 inf 1")]
20 protected int m_LargeGroupSize;
21
22 [Attribute("3", desc: "This free compartment amount or higher need to be availible or more in order for 'medium' filter label to be set in the content browser. Allowing those groups sizes (and lower) to be placed", params: "1 inf 1")]
23 protected int m_MediumGroupSize;
24
25 [Attribute("2", desc: "This free compartment amount or higher need to be availible or more in order for 'small' filter label to be set in the content browser. Allowing those groups sizes (and lower) to be placed. (Anything lower will be a single character)", params: "1 inf 1")]
26 protected int m_SmallGroupSize;
27
28
29 override bool CanBeShown(SCR_EditableEntityComponent hoveredEntity, notnull set<SCR_EditableEntityComponent> selectedEntities, vector cursorWorldPosition, int flags)
30 {
31 if (!hoveredEntity)
32 return false;
33
34 SCR_BaseCompartmentManagerComponent compartmentManager = SCR_BaseCompartmentManagerComponent.Cast(hoveredEntity.GetOwner().FindComponent(SCR_BaseCompartmentManagerComponent));
35 if (!compartmentManager)
36 return false;
37
39 return contentBrowserManager != null;
40 }
41
42 override bool CanBePerformed(SCR_EditableEntityComponent hoveredEntity, notnull set<SCR_EditableEntityComponent> selectedEntities, vector cursorWorldPosition, int flags)
43 {
44 SCR_BaseCompartmentManagerComponent compartmentManager = SCR_BaseCompartmentManagerComponent.Cast(hoveredEntity.GetOwner().FindComponent(SCR_BaseCompartmentManagerComponent));
45
46 return compartmentManager && compartmentManager.CanOccupy(m_aCompartmentsTypes, false, string.Empty, false, true);
47 }
48
49 override void Perform(SCR_EditableEntityComponent hoveredEntity, notnull set<SCR_EditableEntityComponent> selectedEntities, vector cursorWorldPosition,int flags, int param = -1)
50 {
51 SCR_BaseCompartmentManagerComponent compartmentManager = SCR_BaseCompartmentManagerComponent.Cast(hoveredEntity.GetOwner().FindComponent(SCR_BaseCompartmentManagerComponent));
52
53 array<BaseCompartmentSlot> freeCompartments = {};
54
55 foreach(ECompartmentType compartmentType: m_aCompartmentsTypes)
56 {
57 compartmentManager.GetFreeCompartmentsOfType(freeCompartments, compartmentType);
58 }
59
60 if (freeCompartments.IsEmpty())
61 return;
62
63 int count = freeCompartments.Count();
64
66
67 if (count >= m_LargeGroupSize)
68 contentBrowserManager.OpenBrowserExtended(hoveredEntity, m_LargeGroupsDisplayConfig);
69 else if (count >= m_MediumGroupSize)
70 contentBrowserManager.OpenBrowserExtended(hoveredEntity, m_MediumGroupsDisplayConfig);
71 else if (count >= m_SmallGroupSize)
72 contentBrowserManager.OpenBrowserExtended(hoveredEntity, m_SmallGroupsDisplayConfig);
73 else
74 contentBrowserManager.OpenBrowserExtended(hoveredEntity, m_SingleCharacterDisplayConfig);
75 }
76};
SCR_EAIThreatSectorFlags flags
ECompartmentType
SCR_AIAnimation_Loitering BaseContainerProps
Commanding menu commanding element class.
class SCR_ArsenalGameModeUIDataHolder SCR_BaseContainerCustomTitleUIInfo("m_UIInfo")
UI Textures DeployMenu Briefing conflict_HintBanner_1_UI desc
ref SCR_EditorContentBrowserDisplayConfig m_MediumGroupsDisplayConfig
ref SCR_EditorContentBrowserDisplayConfig m_SmallGroupsDisplayConfig
override bool CanBeShown(SCR_EditableEntityComponent hoveredEntity, notnull set< SCR_EditableEntityComponent > selectedEntities, vector cursorWorldPosition, int flags)
ref SCR_EditorContentBrowserDisplayConfig m_SingleCharacterDisplayConfig
ref SCR_EditorContentBrowserDisplayConfig m_LargeGroupsDisplayConfig
override bool CanBePerformed(SCR_EditableEntityComponent hoveredEntity, notnull set< SCR_EditableEntityComponent > selectedEntities, vector cursorWorldPosition, int flags)
override void Perform(SCR_EditableEntityComponent hoveredEntity, notnull set< SCR_EditableEntityComponent > selectedEntities, vector cursorWorldPosition, int flags, int param=-1)
bool OpenBrowserExtended(SCR_EditableEntityComponent extendedEntity, SCR_EditorContentBrowserDisplayConfig contentBrowserConfig=null)
SCR_FieldOfViewSettings Attribute