16 protected ref SCR_SortedArray<SCR_GroupIdentityRule>
m_aRulesIndentitySorted =
new SCR_SortedArray<SCR_GroupIdentityRule>();
17 protected ref SCR_SortedArray<SCR_GroupIdentityRule>
m_aRulesDimensionSorted =
new SCR_SortedArray<SCR_GroupIdentityRule>();
18 protected ref SCR_SortedArray<SCR_GroupIdentityRule>
m_aRulesIconSorted =
new SCR_SortedArray<SCR_GroupIdentityRule>();
19 protected ref SCR_SortedArray<SCR_GroupIdentityRule>
m_aRulesAmplifierSorted =
new SCR_SortedArray<SCR_GroupIdentityRule>();
51 for (
int i = rules.Count() - 1; i >= 0; i--)
53 if (rules[i].SetSymbol(outSymbol,
data))
89 data.m_Faction = faction;
97 data.m_iMemberCount = group.GetServerAgentsCount();
100 array<AIAgent> agents = {};
101 data.m_iMemberCount = group.GetAgents(agents);
102 if (
data.m_iMemberCount > 0)
105 BaseWeaponManagerComponent weaponManager;
106 array<WeaponSlotComponent> weapons = {};
107 array<BaseMuzzleComponent> muzzles = {};
108 array<EEditableEntityLabel> labels = {};
109 data.m_WeaponTypes.Clear();
110 for (
int i; i <
data.m_iMemberCount; i++)
115 member = agents[i].GetControlledEntity();
116 weaponManager = BaseWeaponManagerComponent.Cast(member.
FindComponent(BaseWeaponManagerComponent));
119 weaponManager.GetWeaponsSlots(weapons);
127 float weaponTypeCount;
128 if (
data.m_WeaponTypes.Find(weaponType, weaponTypeCount))
129 data.m_WeaponTypes[weaponType] = weaponTypeCount + 1;
131 data.m_WeaponTypes.Insert(weaponType, 1);
134 for (
int m = 0, mCount = slot.GetMuzzlesList(muzzles); m < mCount; m++)
138 switch (muzzles[m].GetMuzzleType())
147 if (muzzleWeaponType != -1 && muzzleWeaponType != weaponType)
149 if (
data.m_WeaponTypes.Find(muzzleWeaponType, weaponTypeCount))
150 data.m_WeaponTypes[muzzleWeaponType] = weaponTypeCount + 1;
152 data.m_WeaponTypes.Insert(muzzleWeaponType, 1);
165 for (
int l = 0, lCount = info.
GetEntityLabels(labels); l < lCount; l++)
170 if (
data.m_aLabels.Find(label, labelCount))
171 data.m_aLabels[label] = labelCount + 1;
173 data.m_aLabels.Insert(label, 1);
181 foreach (
int weaponType,
float count:
data.m_WeaponTypes)
183 data.m_WeaponTypes[weaponType] = count /
data.m_iMemberCount;
186 foreach (
int label,
float count:
data.m_aLabels)
188 data.m_aLabels[label] = count /
data.m_iMemberCount;
194 array<IEntity> vehicles = {};
198 for (
int i, count = vehicles.Count(); i < count; i++)
200 vehicle =
Vehicle.Cast(vehicles[i]);
202 data.m_VehicleTypes |= vehicle.m_eVehicleType;
290 outSymbol.SetIcons(
m_Icon);
302 [
Attribute(
"0.5", uiwidget:
UIWidgets.Slider,
params:
"0 1 0.01",
desc:
"Condition is met only if ratio of weapons defined by 'Weapon Type' in the group is higher than this limit.\nE.g., Four-man group with two MGs will have MG ratio of 0.5\nUnarmed will never check ratio.")]
305 [
Attribute(
"0", uiwidget:
UIWidgets.ComboBox, enums: ParamEnumArray.FromEnum(
EWeaponType),
desc:
"Condition is failed if any of these weapon types have ratio bigger than the one of 'Weapon Type', even when it's above 'Min Limit'.\nUnarmed will never check ratio.")]
336 [
Attribute(
"0.5", uiwidget:
UIWidgets.Slider,
params:
"0 1 0.01",
desc:
"Condition is met only if ratio of labels defined by 'Label' in the group is higher than this limit.\nE.g., Four-man group with two medics will have medic ratio of 0.5")]
339 [
Attribute(
"0", uiwidget:
UIWidgets.ComboBox, enums: ParamEnumArray.FromEnum(
EEditableEntityLabel),
desc:
"Condition is failed if any of these labels have ratio bigger than the one of 'Label', even when it's above 'Min Limit'")]
SCR_AIAnimation_Loitering BaseContainerProps
Commanding menu commanding element class.
class SCR_CampaignHintStorage SCR_BaseContainerCustomTitleEnum(EHint, "m_eHintId")
Get all prefabs that have the spawner data
UI Textures DeployMenu Briefing conflict_HintBanner_1_UI desc
proto external Managed FindComponent(typename typeName)
SCR_AIGroupUtilityComponent GetGroupUtilityComponent()
ref SCR_AIGroupVehicleManager m_VehicleMgr
void GetAllVehicleEntities(array< IEntity > outAllVehicles)
Attribute for setting any flags enum property as custom title.
SCR_UIInfo GetInfo(IEntity owner=null)
int GetEntityLabels(out notnull array< EEditableEntityLabel > entityLabels)
bool IsCompatible(notnull SCR_MilitarySymbol symbol, SCR_GroupIdentityRuleData data)
override bool SetSymbol(out notnull SCR_MilitarySymbol outSymbol, SCR_GroupIdentityRuleData data)
EMilitarySymbolAmplifier m_Amplifier
EMilitarySymbolDimension m_Dimension
override bool SetSymbol(out notnull SCR_MilitarySymbol outSymbol, SCR_GroupIdentityRuleData data)
bool IsCompatible(notnull SCR_MilitarySymbol symbol, SCR_GroupIdentityRuleData data)
bool SetSymbol(out notnull SCR_MilitarySymbol outSymbol, SCR_GroupIdentityRuleData data)
override bool SetSymbol(out notnull SCR_MilitarySymbol outSymbol, SCR_GroupIdentityRuleData data)
EMilitarySymbolIcon m_Icon
EEditableEntityLabel m_Label
bool IsCompatible(notnull SCR_MilitarySymbol symbol, SCR_GroupIdentityRuleData data)
ref array< EEditableEntityLabel > m_ComparedLabels
EVehicleType m_VehicleType
bool IsCompatible(notnull SCR_MilitarySymbol symbol, SCR_GroupIdentityRuleData data)
ref array< EWeaponType > m_ComparedWeaponTypes
bool IsCompatible(notnull SCR_MilitarySymbol symbol, SCR_GroupIdentityRuleData data)
bool IsCompatible(notnull SCR_MilitarySymbol symbol, SCR_GroupIdentityRuleData data)
override bool SetSymbol(out notnull SCR_MilitarySymbol outSymbol, SCR_GroupIdentityRuleData data)
EMilitarySymbolIdentity m_Identity
ref SCR_SortedArray< SCR_GroupIdentityRule > m_aRulesAmplifierSorted
ref array< ref SCR_GroupIdentityRuleAmplifier > m_aRulesAmplifier
void UpdateSymbol(out notnull SCR_MilitarySymbol outSymbol, SCR_AIGroup group)
ref SCR_SortedArray< SCR_GroupIdentityRule > m_aRulesDimensionSorted
ref array< ref SCR_GroupIdentityRuleDimension > m_aRulesDimension
ref SCR_SortedArray< SCR_GroupIdentityRule > m_aRulesIndentitySorted
void UpdateSymbol(out notnull SCR_MilitarySymbol outSymbol, SCR_Faction faction)
ref SCR_SortedArray< SCR_GroupIdentityRule > m_aRulesIconSorted
void SCR_MilitarySymbolRuleSet()
void ProcessRules(SCR_SortedArray< SCR_GroupIdentityRule > rules, out notnull SCR_MilitarySymbol outSymbol, SCR_GroupIdentityRuleData data)
ref array< ref SCR_GroupIdentityRuleIdentity > m_aRulesIdentity
ref array< ref SCR_GroupIdentityRuleIcon > m_aRulesIcon
enum EPhysicsLayerPresets Vehicle
SCR_FieldOfViewSettings Attribute