15 void SetupWaypoint(
IEntity waypointEntity)
17 AIWaypoint waypoint = AIWaypoint.Cast(waypointEntity);
21 waypoint.SetCompletionRadius(GetWaypointCompletionRadius());
22 waypoint.SetCompletionType(GetWaypointCompletionType());
27 void SetWaypointCompletionRadius(
float radius)
33 float GetWaypointCompletionRadius()
69 [
Attribute(
desc:
"Settings which are valid while this waypoint is active.")]
70 protected ref array<ref SCR_AISettingBase> m_aSettings;
73 void SCR_ScenarioFrameworkWaypointScripted()
76 foreach (
auto s : m_aSettings)
77 s.Internal_ConstructedAtProperty(
SCR_EAISettingOrigin.SCENARIO, SCR_EAISettingFlags.SCENARIO_FRAMEWORK);
81 override void SetupWaypoint(
IEntity waypointEntity)
83 super.SetupWaypoint(waypointEntity);
85 SCR_AIWaypoint waypointScripted = SCR_AIWaypoint.Cast(waypointEntity);
86 if (!waypointScripted)
92 foreach (
auto s : m_aSettings)
98 void SetWaypointPriorityLevel(
float priority)
104 float GetWaypointPriorityLevel()
112class SCR_ScenarioFrameworkWaypointSmartAction : SCR_ScenarioFrameworkWaypointScripted
114 [
Attribute(
desc:
"Static reference to entity with smart action")]
115 string m_sStaticEntityName;
118 override void SetupWaypoint(
IEntity waypointEntity)
120 super.SetupWaypoint(waypointEntity);
122 SCR_SmartActionWaypoint waypointSmartAction = SCR_SmartActionWaypoint.Cast(waypointEntity);
123 if (!waypointSmartAction)
126 waypointSmartAction.m_sSmartActionTag = GetWaypointSmartActionTag();
127 waypointSmartAction.m_sStaticEntityName = m_sStaticEntityName;
132 void SetWaypointSmartActionTag(
string tag)
138 string GetWaypointSmartActionTag()
146class SCR_ScenarioFrameworkWaypointEntity : SCR_ScenarioFrameworkWaypointScripted
149 string m_sEntityName;
152 override void SetupWaypoint(
IEntity waypointEntity)
154 super.SetupWaypoint(waypointEntity);
156 SCR_EntityWaypoint waypointScriptedEntity = SCR_EntityWaypoint.Cast(waypointEntity);
157 if (!waypointScriptedEntity)
160 waypointScriptedEntity.SetEntityName(m_sEntityName);
166class SCR_ScenarioFrameworkWaypointTimed : SCR_ScenarioFrameworkWaypointScripted
169 override void SetupWaypoint(
IEntity waypointEntity)
171 super.SetupWaypoint(waypointEntity);
173 SCR_TimedWaypoint waypointTimed = SCR_TimedWaypoint.Cast(waypointEntity);
177 waypointTimed.SetHoldingTime(GetWaypointHoldingTime());
182 void SetWaypointHoldingTime(
float time)
188 float GetWaypointHoldingTime()
196class SCR_ScenarioFrameworkWaypointTimedDefend : SCR_ScenarioFrameworkWaypointTimed
198 [
Attribute(
"0", UIWidgets.Object,
"If enabled, it will clear default Defend presets that are on prefab. There has to be at least one Preset set afterwards in order for this Waypoint to work.")]
199 bool m_bClearDefaultDefendPresets;
201 [
Attribute(
"", UIWidgets.Object,
"Defend presets that will be added to the waypoint")];
202 ref array<ref SCR_DefendWaypointPreset> m_aDefendPresets;
205 override void SetupWaypoint(
IEntity waypointEntity)
207 super.SetupWaypoint(waypointEntity);
209 SCR_DefendWaypoint waypointDefend = SCR_DefendWaypoint.Cast(waypointEntity);
215 if (m_bClearDefaultDefendPresets)
218 foreach (SCR_DefendWaypointPreset defendPreset : m_aDefendPresets)
226 void SetFastInit(
bool enabled)
240class SCR_ScenarioFrameworkWaypointBoarding : SCR_ScenarioFrameworkWaypointScripted
243 override void SetupWaypoint(
IEntity waypointEntity)
245 super.SetupWaypoint(waypointEntity);
247 SCR_BoardingWaypoint waypointBoarding = SCR_BoardingWaypoint.Cast(waypointEntity);
248 if (!waypointBoarding)
251 waypointBoarding.SetAllowance(GetDriverAllowed(), GetGunnerAllowed(), GetCargoAllowed());
256 void SetDriverAllowed(
bool enabled)
262 bool GetDriverAllowed()
269 void SetGunnerAllowed(
bool enabled)
275 bool GetGunnerAllowed()
282 void SetCargoAllowed(
bool enabled)
288 bool GetCargoAllowed()
296class SCR_ScenarioFrameworkWaypointBoardingEntity : SCR_ScenarioFrameworkWaypointBoarding
299 string m_sEntityName;
302 override void SetupWaypoint(
IEntity waypointEntity)
304 super.SetupWaypoint(waypointEntity);
306 SCR_BoardingEntityWaypoint waypointBoardingEntity = SCR_BoardingEntityWaypoint.Cast(waypointEntity);
307 if (!waypointBoardingEntity)
310 waypointBoardingEntity.SetEntityName(m_sEntityName);
316class SCR_ScenarioFrameworkWaypointBoardingTimed : SCR_ScenarioFrameworkWaypointBoarding
319 override void SetupWaypoint(
IEntity waypointEntity)
321 super.SetupWaypoint(waypointEntity);
323 SCR_BoardingTimedWaypoint waypointBoardingTimed = SCR_BoardingTimedWaypoint.Cast(waypointEntity);
324 if (!waypointBoardingTimed)
327 waypointBoardingTimed.SetHoldingTime(GetWaypointHoldingTime());
332 void SetWaypointHoldingTime(
float time);
336 float GetWaypointHoldingTime()
SCR_AIAnimation_Loitering BaseContainerProps
Commanding menu commanding element class.
UI Textures DeployMenu Briefing conflict_HintBanner_1_UI desc
void SCR_ScenarioFrameworkLayerBase(IEntityComponentSource src, IEntity ent, IEntity parent)
enum EVehicleType IEntity
void SetPriorityLevel(float priority)
void AddSetting(notnull SCR_AISettingBase s)
bool AddDefendPreset(SCR_DefendWaypointPreset preset)
void ClearDefendPresets()
Clears Defend Presets.
void SetFastInit(bool isFastInit)
EAIWaypointCompletionType
SCR_FieldOfViewSettings Attribute