1 [
ComponentEditorProps(
category:
"GameScripted/Editor (Editables)", description:
"", icon:
"WBData/ComponentEditorProps/componentEditor.png")]
5 static override bool GetEntitySourceBudgetCost(IEntityComponentSource editableEntitySource, out notnull array<ref SCR_EntityBudgetValue> budgetValues)
18 protected ref array<ref SCR_ArsenalItemCountConfig> m_MaxCountPerItemType;
40 protected ref map<SCR_EArsenalItemType, int>
m_aCurrentItemTaken =
new map<SCR_EArsenalItemType, int>();
63 [
RplRpc(RplChannel.Reliable, RplRcver.Broadcast)]
66 FactionManager factionManager =
GetGame().GetFactionManager();
89 delegatesManager.SetFactionDelegate(
m_Faction,
this);
124 [
RplRpc(RplChannel.Reliable, RplRcver.Broadcast)]
142 if (factionKey !=
m_Faction.GetFactionKey())
152 if (spawnPointCount == 0)
154 int thisRplId = Replication.FindId(
this);
155 SCR_NotificationsComponent.SendToUnlimitedEditorPlayers(
ENotification.EDITOR_FACTION_NO_SPAWNS, thisRplId);
157 else if (spawnPointCount == 1 && !
m_ScrFaction.IsPlayable())
160 SCR_NotificationsComponent.SendToEveryone(
ENotification.EDITOR_ATTRIBUTES_FACTION_CHANGED_NO_GM);
169 [
RplRpc(RplChannel.Reliable, RplRcver.Broadcast)]
186 array<SCR_BaseTask> tasks = {};
187 int factionTaskCount = taskManager.GetFilteredTasks(tasks,
m_Faction);
194 [
RplRpc(RplChannel.Reliable, RplRcver.Broadcast)]
208 Faction faction = task.GetTargetFaction();
212 array<SCR_BaseTask> tasks = {};
213 int factionTaskCount = taskManager.GetFilteredTasks(tasks,
m_Faction);
227 [
RplRpc(RplChannel.Reliable, RplRcver.Broadcast)]
242 if (Replication.IsClient())
255 [
RplRpc(RplChannel.Reliable, RplRcver.Broadcast)]
313 override bool CanDuplicate(out notnull set<SCR_EditableEntityComponent> outRecipients)
331 override bool GetEntityBudgetCost(out notnull array<ref SCR_EntityBudgetValue> outBudgets, IEntity owner =
null)
340 super.OnPostInit(owner);
342 owner.SetFlags(EntityFlags.NO_LINK,
true);
361 int spawnPointCount, taskCount;
365 reader.ReadInt(spawnPointCount);
366 reader.ReadInt(taskCount);
367 reader.ReadBool(isPlayable);