4 [
Attribute(
"", UIWidgets.ResourceNamePicker,
"Defenders group prefab",
"et")]
5 private ResourceName m_DefendersGroupPrefab;
8 protected ref array<ResourceName> m_aStartingVehicles;
10 [
Attribute(
"", UIWidgets.ResourceNamePicker,
"",
"et")]
11 private ResourceName m_MobileHQPrefab;
13 [
Attribute(
"", UIWidgets.ResourceNamePicker,
"For radio operators",
"et")]
14 private ResourceName m_RadioPrefab;
16 [
Attribute(
"", UIWidgets.ResourceNamePicker,
"HQ composition in small bases",
"et")]
17 private ResourceName m_BaseBuildingHQ;
19 [
Attribute(
"", UIWidgets.ResourceNamePicker,
"Supply stash composition",
"et")]
20 private ResourceName m_BaseBuildingSupplyDepot;
25 protected SCR_CampaignMobileAssemblyStandaloneComponent m_MobileAssembly;
27 protected WorldTimestamp m_fVictoryTimestamp;
28 protected WorldTimestamp m_fPauseByBlockTimestamp;
30 protected int m_iControlPointsHeld;
33 void GetStartingVehiclePrefabs(out notnull array<ResourceName> prefabs)
49 BaseRadioComponent radio = BaseRadioComponent.Cast(HQ.GetOwner().FindComponent(BaseRadioComponent));
51 if (!radio || !radio.IsPowered())
69 IEntity called =
GetGame().GetPlayerManager().GetPlayerControlledEntity(calledID);
70 int companyCallsignIndex, platoonCallsignIndex, squadCallsignIndex, characterCallsignIndex;
72 if (called && !callsignManager.GetEntityCallsignIndexes(called, companyCallsignIndex, platoonCallsignIndex, squadCallsignIndex, characterCallsignIndex))
76 msg.SetRadioMsg(msgType);
78 msg.SetBaseCallsign(baseCallsign);
79 msg.SetCalledCallsign(companyCallsignIndex, platoonCallsignIndex, squadCallsignIndex);
80 msg.SetIsPublic(
public);
82 msg.SetPlayerID(calledID);
83 msg.SetEncryptionKey(radio.GetEncryptionKey());
85 transmitter.BeginTransmission(msg);
89 void SetControlPointsHeld(
int count)
91 m_iControlPointsHeld = count;
95 int GetControlPointsHeld()
97 return m_iControlPointsHeld;
103 m_MainBase = mainBase;
109 m_PrimaryTarget = target;
116 void RefreshTaskPriorities()
128 array<SCR_BaseTask> tasks = {};
129 taskManager.GetFilteredTasks(tasks,
this);
140 if (!base || base.GetFaction() == conflictTask.GetTargetFaction())
143 conflictTask.SetIsPriority(m_PrimaryTarget == base);
150 return m_PrimaryTarget;
154 void SetMobileAssembly(SCR_CampaignMobileAssemblyStandaloneComponent mobileAssembly)
156 m_MobileAssembly = mobileAssembly;
160 ResourceName GetRadioPrefab()
162 return m_RadioPrefab;
166 ResourceName GetDefendersGroupPrefab()
168 return m_DefendersGroupPrefab;
172 ResourceName GetMobileHQPrefab()
174 return m_MobileHQPrefab;
186 return ResourceName.Empty;
190 string GetFactionNameUpperCase()
195 return UI.GetFactionNameUpperCase();
207 SCR_CampaignMobileAssemblyStandaloneComponent GetMobileAssembly()
209 return m_MobileAssembly;
213 void SetVictoryTimestamp(WorldTimestamp timestamp)
219 WorldTimestamp GetVictoryTimestamp()
225 void SetPauseByBlockTimestamp(WorldTimestamp timestamp)
227 m_fPauseByBlockTimestamp = timestamp;
231 WorldTimestamp GetPauseByBlockTimestamp()
233 return m_fPauseByBlockTimestamp;