Arma Reforger Explorer 1.7.0.54
Arma Reforger Code Explorer by Zeroy - Thanks to MisterOutofTime
Loading...
Searching...
No Matches
SCR_AICharacterSettingsComponent.c
Go to the documentation of this file.
1//---------------------------------------------------------------------------------------------------
2[ComponentEditorProps(category: "GameScripted/AI", description: "Component for character AI settings")]
7
8class SCR_AICharacterSettingsComponent : SCR_AISettingsBaseComponent
9{
10 [Attribute("", UIWidgets.Auto, desc: "These settings will be added as SCR_EAISettingOrigin.DEFAULT")]
11 protected ref array<ref SCR_AICharacterSetting> m_aDefaultSettings;
12
13 //---------------------------------------------------------------------------------------------------
19 bool AddCharacterSetting(notnull SCR_AICharacterSetting setting, bool createCopy, bool removeSameTypeAndOrigin = false)
20 {
21 return AddSetting(setting, createCopy, removeSameTypeAndOrigin);
22 }
23
24 //---------------------------------------------------------------------------------------------------
26 override protected bool AddSetting(notnull SCR_AISettingBase setting, bool createCopy, bool removeSameTypeAndOrigin = false)
27 {
28 return super.AddSetting(setting, createCopy, removeSameTypeAndOrigin);
29 }
30
31 //---------------------------------------------------------------------------------------------------
33 static SCR_AICharacterSettingsComponent FindOnControlledEntity(notnull IEntity entity)
34 {
35 AIControlComponent controlComp = AIControlComponent.Cast(entity.FindComponent(AIControlComponent));
36 if (!controlComp)
37 return null;
38
39 AIAgent agent = controlComp.GetAIAgent();
40 if (!agent)
41 return null;
42
43 return SCR_AICharacterSettingsComponent.Cast(agent.FindComponent(SCR_AICharacterSettingsComponent));
44 }
45
46 //---------------------------------------------------------------------------------------------------
47 override void OnPostInit(IEntity owner)
48 {
49 super.OnPostInit(owner);
50
51 // Add default settings
52 foreach (auto s : m_aDefaultSettings)
53 {
54 s.Internal_ConstructedAtProperty(SCR_EAISettingOrigin.DEFAULT, SCR_EAISettingFlags.SETTINGS_COMPONENT);
55 AddSetting(s, false, false);
56 }
57 }
58}
bool AddSetting(notnull SCR_AISettingBase setting, bool createCopy, bool removeSameTypeAndOrigin=false)
It's overridden as protected. This way SCR_AICharacterSettingsComponent accepts only character settin...
bool AddCharacterSetting(notnull SCR_AICharacterSetting setting, bool createCopy, bool removeSameTypeAndOrigin=false)
ref array< ref SCR_AISettingBase > m_aDefaultSettings
enum EAIGroupCombatMode ComponentEditorProps(category:"GameScripted/AI", description:"Component for utility AI system for groups")
SCR_EAISettingOrigin
UI Textures DeployMenu Briefing conflict_HintBanner_1_UI desc
enum EVehicleType IEntity
SCR_FieldOfViewSettings Attribute