Arma Reforger Explorer 1.7.0.54
Arma Reforger Code Explorer by Zeroy - Thanks to MisterOutofTime
Loading...
Searching...
No Matches
SCR_FactionCommanderBaseTaskMenuHandler.c
Go to the documentation of this file.
3{
4 //------------------------------------------------------------------------------------------------
6 {
7 if (!m_MenuEntry)
8 return ResourceName.Empty;
9
11 if (!taskRootMenuEntry)
12 return ResourceName.Empty;
13
14 return taskRootMenuEntry.GetTaskPrefab();
15 }
16
17 //------------------------------------------------------------------------------------------------
18 protected bool IsTaskValid(IEntity hoveredEntity)
19 {
20 SCR_Task task = SCR_Task.Cast(hoveredEntity);
21 if (!task)
22 return false;
23
24 if (!m_MenuEntry)
25 return false;
26
28 if (!taskRootMenuEntry)
29 return false;
30
31 return task.Type() == taskRootMenuEntry.GetTaskPrefabClassTypename();
32 }
33
34 //------------------------------------------------------------------------------------------------
37 {
38 if (!m_MenuEntry)
39 return typename.Empty;
40
42 if (!taskRootMenuEntry)
43 return typename.Empty;
44
45 return taskRootMenuEntry.GetTaskPrefabClassTypename();
46 }
47
48 //------------------------------------------------------------------------------------------------
49 override bool CanEntryBeShown(notnull Faction commanderFaction, int playerId, vector position, IEntity hoveredEntity)
50 {
51 return IsTaskValid(hoveredEntity);
52 }
53
54 //------------------------------------------------------------------------------------------------
55 override bool CanGroupEntryBeShown(notnull Faction commanderFaction, int playerId, vector position, IEntity hoveredEntity, SCR_AIGroup group)
56 {
57 if (!super.CanGroupEntryBeShown(commanderFaction, playerId, position, hoveredEntity, group))
58 return false;
59
60 SCR_GroupTaskManagerComponent groupTaskManager = SCR_GroupTaskManagerComponent.GetInstance();
61 if (!groupTaskManager)
62 return true;
63
64 SCR_GroupTaskRelevance relevance = groupTaskManager.GetGroupTaskRelevance(GetTaskPrefabClassTypename());
65 if (!relevance)
66 return true;
67
68 return relevance.IsTaskExecutableByGroup(group);
69 }
70}
SCR_AIAnimation_Loitering BaseContainerProps
Commanding menu commanding element class.
vector position
void SCR_GroupTaskManagerComponent(IEntityComponentSource src, IEntity ent, IEntity parent)
void SCR_Task(IEntitySource src, IEntity parent)
Definition SCR_Task.c:1938
override bool CanGroupEntryBeShown(notnull Faction commanderFaction, int playerId, vector position, IEntity hoveredEntity, SCR_AIGroup group)
override bool CanEntryBeShown(notnull Faction commanderFaction, int playerId, vector position, IEntity hoveredEntity)
GetTaskPrefabClassTypename()
ResourceName GetTaskPrefab()