12 [
RplProp(onRplName:
"OnRplPlayerID")]
15 [
RplProp(onRplName:
"OnRplLimitedEditor")]
16 protected bool m_bHasLimitedEditor;
37 m_bHasLimitedEditor = editorManager.IsLimited();
56 return m_OnLimitedEditorChanged;
64 return m_bHasLimitedEditor;
81 m_EntityID = entityID;
92 return m_ControlledEntity;
104 if (editorManagerCore)
106 editorManagerCore.Event_OnEditorManagerInitOwner.Insert(
OnRplPlayerID);
113 if (editorManagerCore)
114 editorManagerCore.Event_OnEditorManagerInitOwner.Remove(
OnRplPlayerID);
125 m_OnLimitedEditorChanged.Invoke(
m_iPlayerID, m_bHasLimitedEditor);
133 m_bHasLimitedEditor = isLimited;
141 if (!m_ControlledEntity)
143 if (m_EntityID ==
RplId.Invalid())
147 if (!m_ControlledEntity)
157 if (m_ControlledEntity)
160 return super.GetEntityType(owner);
173 return super.GetInfo();
190 return factionManager.GetPlayerFaction(
m_iPlayerID);
193 FactionAffiliationComponent factionAffiliation = FactionAffiliationComponent.Cast(
m_Owner.FindComponent(FactionAffiliationComponent));
194 if (factionAffiliation)
195 return factionAffiliation.GetAffiliatedFaction();
238 return m_ControlledEntity.
GetPos(pos);
246 return super.GetLogText(prefix) +
string.Format(
", ctrl: %1", m_ControlledEntity);
254 if (!super.RplSave(writer))
258 writer.WriteRplId(controlledEntityRplID);
268 if (!super.RplLoad(reader))
271 RplId controlledEntityRplID;
272 reader.ReadRplId(controlledEntityRplID);
281 super.OnPostInit(owner);
ArmaReforgerScripted GetGame()
enum EAIGroupCombatMode ComponentEditorProps(category:"GameScripted/AI", description:"Component for utility AI system for groups")
SCR_CacheNoteComponentClass ScriptComponentClass RplProp()] protected ref array< string > m_aLines
bool FetchControlledEntity()
void ~SCR_EditablePlayerDelegateComponent()
ScriptInvoker GetOnLimitedEditorChanged()
void SetControlledEntityOwner(RplId entityID)
void OnRplLimitedEditor()
void OnEditorLimitedChange(bool isLimited)
void SCR_EditorManagerEntity(IEntitySource src, IEntity parent)
override SCR_UIInfo GetInfo()
void SCR_FactionManager(IEntitySource src, IEntity parent)
void Rpc(func method, void p0=NULL, void p1=NULL, void p2=NULL, void p3=NULL, void p4=NULL, void p5=NULL, void p6=NULL, void p7=NULL)
proto external EntityFlags SetFlags(EntityFlags flags, bool recursively=false)
Replication item identifier.
string GetLogText(string prefix="")
SCR_EditableEntityComponent GetVehicle()
static SCR_EditableEntityComponent GetEditableEntity(IEntity owner)
bool GetPos(out vector pos)
EEditableEntityType GetEntityType(IEntity owner=null)
ScriptInvoker GetOnUIReset()
override bool RplLoad(ScriptBitReader reader)
override bool RplSave(ScriptBitWriter writer)
SCR_UIInfo GetInfo(IEntity owner=null)
bool GetEntityBudgetCost(out notnull array< ref SCR_EntityBudgetValue > outBudgets, IEntity owner=null)
SCR_EditableEntityComponent GetAIGroup()
Core component to manage SCR_EditorManagerEntity.
void RegisterDelegate(SCR_EditablePlayerDelegateComponent delegate)
void UnegisterDelegate(SCR_EditablePlayerDelegateComponent delegate)
SCR_EditableEntityComponent GetControlledEntity()
EEditableEntityType
Defines type of SCR_EditableEntityComponent. Assigned automatically based on IEntity inheritance.
EntityFlags
Various entity flags.
SCR_EditorManagerCore m_iPlayerID
void SetControlledEntity(IEntity controlledEntity)
void RplRpc(RplChannel channel, RplRcver rcver, RplCondition condition=RplCondition.None, string customConditionName="")
RplChannel
Communication channel. Reliable is guaranteed to be delivered. Unreliable not.