Arma Reforger Script API
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
SCR_EditableVehicleComponent Interface Reference
Inheritance diagram for SCR_EditableVehicleComponent:
[legend]

Public Member Functions

int GetPlayerCountInVehicle ()
 
override Faction GetFaction ()
 Get entity's faction.
 
override ScriptInvoker GetOnUIRefresh ()
 Get event called when GUI should refresh entity's GUI, i.e., update faction color and call events in GUI widgets.
 
override SCR_EditableEntityComponent GetAIGroup ()
 Get entity's AI group.
 
override SCR_EditableEntityComponent GetAIEntity ()
 Get entity which represents this entity as AI.
 
override int GetPlayerID ()
 Get player controlling this entity.
 
void UpdatePlayerCountInVehicle ()
 
override int GetCrew (out notnull array< CompartmentAccessComponent > crewCompartmentAccess, bool ignorePlayers=true)
 Get crew of vehicle or if in a vehicle get self.
 
override void SetTransform (vector transform[4], bool changedByUser=false)
 Update entity's transformation and broadcast the changes to all clients.
 
bool CanOccupyVehicleWithCharacters (array< ECompartmentType > compartmentTypes, bool checkHasDefaultOccupantsData, int playerID, bool checkEditorBudget=true, bool checkOccupyingFaction=true, bool checkForFreeCompartments=true, bool checkForFreeDefaultCompartments=false)
 Check if vehicle can spawn characters (Of vehicle Faction) in the vehicle.
 
void OccupyVehicleWithDefaultCharacters (notnull array< ECompartmentType > compartmentTypes)
 Spawn characters (Of vehicle Faction) within the Vehicle (Server only)
 
SCR_BaseCompartmentManagerComponent GetCompartmentManager ()
 Get Compartment manager of vehicle.
 
override SCR_EditableEntityComponent EOnEditorPlace (out SCR_EditableEntityComponent parent, SCR_EditableEntityComponent recipient, EEditorPlacingFlags flags, bool isQueue, int playerID=0)
 Event called on server when the entity is placed in the editor.
 
override void EOnPhysicsActive (IEntity owner, bool activeState)
 
override void OnPostInit (IEntity owner)
 
void ~SCR_EditableVehicleComponent ()
 
- Public Member Functions inherited from SCR_EditableEntityComponent
string GetDisplayName ()
 Get entity name from info component.
 
ResourceName GetPrefab (bool shorten=false)
 Get entity prefab.
 
SCR_EditableEntityComponentClass GetEditableEntityData (IEntity owner=null)
 Get prefab data of this editable entity.
 
EEditableEntityType GetEntityType (IEntity owner=null)
 Get entity type.
 
SCR_EditableEntityInteraction GetEntityInteraction (IEntity owner=null)
 Get entity interaction rules of this entity.
 
SCR_UIInfo GetInfo (IEntity owner=null)
 Get information about the entity.
 
ScriptInvokerEntity GetOnDeleted ()
 Get event called when entity is deleted.
 
void SetInfoInstance (SCR_UIInfo info)
 Set information about the entity on entity instance, locally on this machine.
 
bool IsReplicated (out RplId replicationID=-1)
 Check component's replication.
 
bool Serialize (out SCR_EditableEntityComponent outTarget=null, out int outTargetIndex=-1, out EEditableEntitySaveFlag outSaveFlags=0)
 Check if the entity can be serialized during session saving managed by SCR_EditableEntityStruct.
 
void Deserialize (SCR_EditableEntityComponent target, int targetValue)
 Deserialise the entity based on given params.
 
GenericEntity GetOwnerScripted ()
 
bool GetPos (out vector pos)
 Get position representing the entity.
 
vector GetIconPos ()
 Get icon offset.
 
bool GetTransform (out vector outTransform[4])
 Get world transformation matrix of editable entity.
 
bool GetLocalTransform (out vector outTransform[4])
 Get local transformation matrix of editable entity.
 
int GetPlayerID ()
 Get player controlling this entity.
 
Faction GetFaction ()
 Get entity's faction.
 
ScriptInvoker GetOnUIRefresh ()
 Get event called when GUI should refresh entity's GUI, i.e., update faction color and call events in GUI widgets.
 
ScriptInvoker GetOnUIReset ()
 Get event called when GUI should reset widgets that are used for entity visualization.
 
SCR_EditableEntityComponent GetAIGroup ()
 Get entity's AI group.
 
SCR_EditableEntityComponent GetAIEntity ()
 Get entity which represents this entity as AI.
 
SCR_EditableEntityComponent GetVehicle ()
 Get vehicle the entity's in.
 
int GetCrew (out notnull array< CompartmentAccessComponent > crewCompartmentAccess, bool ignorePlayers=true)
 Get crew of vehicle or if in a vehicle get self.
 
float GetHealth ()
 Get entity health.
 
bool CanDestroy ()
 
bool IsDestroyed ()
 Check if the entity is destroyed.
 
void SetStatic (bool isStatic)
 Set entity as static.
 
bool GetStatic ()
 Check if the entity is marked as static.
 
void UpdateStaticPos ()
 Update static cached position.
 
void SetHierarchyAsDirtyInParents ()
 Mark hierarchy in all parents of the entity as dirty, i.e., modified by user.
 
void SetHierarchyAsDirty ()
 Mark entity hierarchy as dirty, i.e., modified by user.
 
void SetTransformWithChildren (vector transform[4])
 Update transformation of the entity and all its editor children and broadcast the changes to all clients.
 
void SetTransform (vector transform[4], bool changedByUser=false)
 Update entity's transformation and broadcast the changes to all clients.
 
bool Destroy ()
 Kill/destroy this editable entity.
 
bool Delete (bool changedByUser=false, bool updateNavmesh=false)
 Delete this editable entity.
 
RplId GetOwnerRplId ()
 
float GetMaxDrawDistanceSq ()
 Get squared maximum distance in which this entity is drawn in editor (e.g., with an icon).
 
void SetMaxDrawDistance (float maxDrawDistance)
 Set maximum distance in which this entity is drawn in editor (e.g., with an icon).
 
bool GetEntityBudgetCost (out notnull array< ref SCR_EntityBudgetValue > outBudgets, IEntity owner=null)
 Get entity budget costs.
 
bool GetEntityChildrenBudgetCost (out notnull array< ref SCR_EntityBudgetValue > outBudgets, IEntity owner=null)
 Get entity budget costs including cost of children (for groups/compositions)
 
bool GetEntityAndChildrenBudgetCost (out notnull array< ref SCR_EntityBudgetValue > outBudgets, IEntity owner=null)
 Get budgets for both, entity and it's children.
 
bool CanDuplicate (out notnull set< SCR_EditableEntityComponent > outRecipients)
 Can entity be duplicated by editor and which recipients should be passed to the duplicated entity Overridden by other EditableEntityComponents.
 
void ForceVehicleCompartments (notnull array< ECompartmentType > forceVehicleCompartments)
 Authority Only, forces entities such as Character and Group to place characters into a specific vehicle position.
 
void OnCreatedServer (notnull SCR_PlacingEditorComponent placedEditorComponent)
 
bool HasEntityState (EEditableEntityState state)
 Check if given entity state is active.
 
EEditableEntityState GetEntityStates ()
 Check bit array with all currently active states.
 
void SetEntityState (EEditableEntityState state, bool toSet)
 Set value of an entity state.
 
void ResetEntityStates ()
 Reset all entity states.
 
bool HasEntityFlag (EEditableEntityFlag flag)
 Check if a flag is active.
 
EEditableEntityFlag GetEntityFlags ()
 Get entity flags.
 
void SetEntityFlag (EEditableEntityFlag flag, bool toSet)
 Set entity flag.
 
void CopyEntityFlags (EEditableEntityFlag flags)
 Override the Entity flags.
 
string GetLogText (string prefix="")
 
void Log (string prefix="", bool onlyDirect=false, LogLevel logLevel=LogLevel.DEBUG)
 Print out entity information.
 
void Log (string prefix, EEditableEntityAccessKey accessKey)
 Print out the entity and all its descendants which are compatible with given key.
 
void LogAccessKey ()
 Print out entity's access key.
 
SCR_EditableEntityComponent EOnEditorPlace (out SCR_EditableEntityComponent parent, SCR_EditableEntityComponent recipient, EEditorPlacingFlags flags, bool isQueue, int playerID=0)
 Event called on server when the entity is placed in the editor.
 
void EOnEditorSessionLoad (SCR_EditableEntityComponent parent)
 Event called on server when the session is being loaded by SCR_EditableEntityStruct.
 
override bool RplSave (ScriptBitWriter writer)
 
override bool RplLoad (ScriptBitReader reader)
 
override void OnDelete (IEntity owner)
 
override void OnPostInit (IEntity owner)
 
void SCR_EditableEntityComponent (IEntityComponentSource src, IEntity ent, IEntity parent)
 
void Attach (notnull SCR_EditableEntityComponent attachable)
 Add the received attachable waypoint to the attached entities (runs on parent)
 
void Detach (notnull SCR_EditableEntityComponent attachable)
 Removes the received attachable waypoint from the attached entities (runs on parent)
 
set< SCR_EditableEntityComponentGetAttachedEntities ()
 Returns attached entities of self.
 
bool IsAttachable ()
 Returns if current entity is attachable.
 
bool IsAttached ()
 Returns if current entity is attached.
 
SCR_EditableEntityComponent GetAttachedTo ()
 Returns current entity which this editable task is attached to.
 
bool CanSetParent (SCR_EditableEntityComponent parentEntity)
 Check if the entity can be moved to intended parent.
 
SCR_EditableEntityComponent SetParentEntity (SCR_EditableEntityComponent parentEntity, bool changedByUser=false)
 Set parent of the entity.
 
void RestoreParentEntity ()
 Add the entity to its previous parent after it was unregistered using RemoveParentEntity() Allowed only on server.
 
void RemoveParentEntity ()
 Remove entity from its parent.
 
SCR_EditableEntityComponent GetParentEntity ()
 Get parent entity.
 
void GetParentEntities (out notnull array< SCR_EditableEntityComponent > entities)
 Get hierarchy of all parent entities, all the way to the root.
 
bool IsChildOf (SCR_EditableEntityComponent entity)
 Check if the entity is in hierarchy of given entity.
 
set< SCR_EditableEntityComponentGetChildrenRef ()
 Get direct reference to entity's immediate children.
 
void GetChildren (out notnull set< SCR_EditableEntityComponent > entities, bool onlyDirect=false, bool skipIgnored=false)
 Get child entities.
 
void GetChildren (out notnull set< SCR_EditableEntityComponent > entities, bool onlyDirect, EEditableEntityAccessKey accessKey)
 Get child entities with compatible key.
 
int GetChildrenCount (bool onlyDirect=false)
 Get number of child entities.
 
SCR_EditableEntityComponent GetChild (int index)
 Get child on given index.
 
bool IsLayer ()
 Check if the entity is also a layer, i.e., has some child entities.
 
bool CanEnterLayer (SCR_LayersEditorComponent layersManager=null, bool toExtreme=false)
 Checks if can enter layer.
 
bool IsRegistered ()
 Check if the entity is registered.
 
void SetVisible (bool show)
 Set entity visibility.
 
void EnableVisibilityReplication (bool enable)
 
bool CanReplicateVisibility ()
 
void OnRplVisibilityChanged ()
 
bool GetVisibleSelf ()
 Check visibility setting of the entity.
 
bool GetVisibleInHierarchy ()
 Check visibility setting of the entity in hierarchy (e.g., if an entity is set as visible, but its parent is not, false will be returned).
 
void AddAccessKey (EEditableEntityAccessKey accessKey)
 Add access key.
 
void RemoveAccessKey (EEditableEntityAccessKey accessKey)
 Remove access key.
 
void ClearAccessKeys ()
 Clear all access keys.
 
EEditableEntityAccessKey GetAccessKey ()
 Get entity's access key.
 
bool HasAccessSelf (EEditableEntityAccessKey accessKey)
 Check access key of the entity.
 
bool HasAccessInHierarchy (EEditableEntityAccessKey accessKey)
 Check acces keys of the entity in hierarchy (e.g., if an entity is compatible, but its parent is not, false will be returned).
 
bool HasAccessSelf ()
 Check access key of the entity compared to those defined in SCR_AccessKeysEditorComponent.
 
bool HasAccessInHierarchy ()
 Check access key of the entity in hierarchy (e.g., if an entity is compatible, but its parent is not, false will be returned).
 

Protected Member Functions

void OnFactionUpdate (FactionAffiliationComponent owner, Faction previousFaction, Faction newFaction)
 
void OnDestroyed (IEntity owner)
 
void PlayerTeleportedFeedback ()
 Add feedback to players that they are teleported when inside of the vehicle.
 
bool HasEnoughBudgetForDefaultOccupants (array< ECompartmentType > compartmentTypes, int playerID, EEditorMode editorMode, out bool noFreeDefaultCompartments)
 
- Protected Member Functions inherited from SCR_EditableEntityComponent
bool IsServer ()
 
bool CanRpc ()
 
void SetTransformOwner (vector transform[4])
 
void SetTransformBroadcast (vector transform[4])
 
void OnParentEntityChanged (SCR_EditableEntityComponent parentEntity, SCR_EditableEntityComponent parentEntityPrev, bool changedByUser)
 
void SetParentEntityBroadcast (SCR_EditableEntityComponent parentEntity, SCR_EditableEntityComponent parentEntityPrev, bool changedByUser=false, bool isAutoRegistration=false)
 
void SetParentEntityBroadcastReceive (RplId parentEntityID, RplId parentEntityPrevID, bool changedByUser)
 
void OnRegistrationChanged (bool toRegister)
 
EEditableEntityRegister GetAutoRegister ()
 
void Register ()
 
void Unregister (IEntity owner=null)
 
void AddToParent (SCR_EditableEntityComponent parentEntity, bool changedByUser)
 
void RemoveFromParent (SCR_EditableEntityComponent parentEntity, bool changedByUser)
 
void AddChild (SCR_EditableEntityComponent entity)
 
void RemoveChild (SCR_EditableEntityComponent entity)
 
void UpdateGameHierarchy (IEntity parent, IEntity child, bool toAdd)
 
void OnChildEntityChanged (SCR_EditableEntityComponent child, bool isAdded)
 
void SetEntityStateInChildren (IEntity owner, EEditableEntityState state, bool toSet, out array< Managed > components=null)
 
void OnVisibilityChanged ()
 
void OnAccessKeyChanged (EEditableEntityAccessKey accessKey)
 
void Refresh ()
 
RplComponent GetRplComponent ()
 
bool ValidateType ()
 

Protected Attributes

SCR_BaseCompartmentManagerComponent m_CompartmentManager
 
SCR_VehicleFactionAffiliationComponent m_VehicleFactionAffiliation
 
ref ScriptInvoker m_OnUIRefresh
 
int m_iPlayersInVehicle
 
- Protected Attributes inherited from SCR_EditableEntityComponent
EEditableEntityRegister m_bAutoRegister
 
vector m_vIconPos
 
bool m_bEnabledVisibilityReplication
 
bool m_bVisible
 
bool m_bStatic
 
float m_fMaxDrawDistance
 
EEditableEntityAccessKey m_AccessKey
 
EEditableEntityFlag m_Flags
 
SCR_EditableEntityComponent m_ParentEntity
 
GenericEntity m_Owner
 
EEditableEntityState m_EntityState
 
SCR_UIInfo m_UIInfoInstance
 
ref set< SCR_EditableEntityComponentm_Entities
 
vector m_vStaticPos
 
int m_iIconBoneIndex = -1
 
ref ScriptInvokerEntity m_OnDeleted
 
ref set< SCR_EditableEntityComponentm_aAttachedEntities
 

Additional Inherited Members

- Static Public Member Functions inherited from SCR_EditableEntityComponent
static SCR_EditableEntityComponent GetEditableEntity (IEntity owner)
 Get editable entity component on given entity.
 

Detailed Description

Special configuration for editable wehicle.

Constructor & Destructor Documentation

◆ ~SCR_EditableVehicleComponent()

void SCR_EditableVehicleComponent.~SCR_EditableVehicleComponent ( )

Member Function Documentation

◆ CanOccupyVehicleWithCharacters()

bool SCR_EditableVehicleComponent.CanOccupyVehicleWithCharacters ( array< ECompartmentType >  compartmentTypes,
bool  checkHasDefaultOccupantsData,
int  playerID,
bool  checkEditorBudget = true,
bool  checkOccupyingFaction = true,
bool  checkForFreeCompartments = true,
bool  checkForFreeDefaultCompartments = false 
)

Check if vehicle can spawn characters (Of vehicle Faction) in the vehicle.

Cannot spawn characters in vehicle if occupied by another faction that is hostile

Parameters
[in]compartmentTypesGiven compartment types that need to be checked if can be filled.
[in]checkHasDefaultOccupantsData
[in]playerIDIf server player ID must be given of the player that wans to check if can occupy, if client no ID needs to be given
[in]checkEditorBudgetIf true will check if characters to spawn are within budget. Function will return false if there isn't enough budget
[in]checkOccupyingFactionIf true function will check if the faction of the vehicle is null (empty) or the same/friendly to the static faction as given in the editableUIInfo. Function will return false if faction is hostile or neutral
[in]checkForFreeCompartmentsIf true will check if there are compartments free for the given compartments types. Function will return false if there are no free compartments of given type
[in]checkForFreeDefaultCompartments
Returns
Will return true if a character can be spawned in at least one compartment

◆ EOnEditorPlace()

override SCR_EditableEntityComponent SCR_EditableVehicleComponent.EOnEditorPlace ( out SCR_EditableEntityComponent  parent,
SCR_EditableEntityComponent  recipient,
EEditorPlacingFlags  flags,
bool  isQueue,
int  playerID = 0 
)

Event called on server when the entity is placed in the editor.

Parameters
[out]parentEditable entity in which the new one is being created (rewrite the variable the change the parent)
[in]recipientEntity that receives this editable entity (e.g., a group receiving a waypoint)
[in]flagsPlacing flags enabled by user
[in]isQueuetrue if the entity was placed in a queue (i.e., placing remains active)
[in]playerIDID of the player placing the entity.
Returns
Editable entity which is added to editor hieraechy (can be overloaded, e.g., to provide group after spawning a character)

Implements SCR_EditableEntityComponent.

◆ EOnPhysicsActive()

override void SCR_EditableVehicleComponent.EOnPhysicsActive ( IEntity  owner,
bool  activeState 
)

◆ GetAIEntity()

override SCR_EditableEntityComponent SCR_EditableVehicleComponent.GetAIEntity ( )

Get entity which represents this entity as AI.

Returns
Editable entity

Implements SCR_EditableEntityComponent.

◆ GetAIGroup()

override SCR_EditableEntityComponent SCR_EditableVehicleComponent.GetAIGroup ( )

Get entity's AI group.

Returns
Editable entity of the group

Implements SCR_EditableEntityComponent.

◆ GetCompartmentManager()

SCR_BaseCompartmentManagerComponent SCR_EditableVehicleComponent.GetCompartmentManager ( )

Get Compartment manager of vehicle.

Returns
Compartment manager

◆ GetCrew()

override int SCR_EditableVehicleComponent.GetCrew ( out notnull array< CompartmentAccessComponent crewCompartmentAccess,
bool  ignorePlayers = true 
)

Get crew of vehicle or if in a vehicle get self.

Parameters
[out]crewCompartmentAccessan array of CompartmentAccessComponent of all crew memebers
[in]ignorePlayerswill never return player CompartmentAccessComponent if true
Returns
count of crew members

Implements SCR_EditableEntityComponent.

◆ GetFaction()

override Faction SCR_EditableVehicleComponent.GetFaction ( )

Get entity's faction.

Returns
Faction

Implements SCR_EditableEntityComponent.

◆ GetOnUIRefresh()

override ScriptInvoker SCR_EditableVehicleComponent.GetOnUIRefresh ( )

Get event called when GUI should refresh entity's GUI, i.e., update faction color and call events in GUI widgets.

To be overridden by inherited classes.

Returns
Script invoker

Implements SCR_EditableEntityComponent.

◆ GetPlayerCountInVehicle()

int SCR_EditableVehicleComponent.GetPlayerCountInVehicle ( )
Returns

◆ GetPlayerID()

override int SCR_EditableVehicleComponent.GetPlayerID ( )

Get player controlling this entity.

Returns
Player ID

Implements SCR_EditableEntityComponent.

◆ HasEnoughBudgetForDefaultOccupants()

bool SCR_EditableVehicleComponent.HasEnoughBudgetForDefaultOccupants ( array< ECompartmentType >  compartmentTypes,
int  playerID,
EEditorMode  editorMode,
out bool  noFreeDefaultCompartments 
)
protected

◆ OccupyVehicleWithDefaultCharacters()

void SCR_EditableVehicleComponent.OccupyVehicleWithDefaultCharacters ( notnull array< ECompartmentType >  compartmentTypes)

Spawn characters (Of vehicle Faction) within the Vehicle (Server only)

Parameters
[in]compartmentTypesGiven compartment types that need to be filled with characters

◆ OnDestroyed()

void SCR_EditableVehicleComponent.OnDestroyed ( IEntity  owner)
protected

◆ OnFactionUpdate()

void SCR_EditableVehicleComponent.OnFactionUpdate ( FactionAffiliationComponent  owner,
Faction  previousFaction,
Faction  newFaction 
)
protected

◆ OnPostInit()

override void SCR_EditableVehicleComponent.OnPostInit ( IEntity  owner)

◆ PlayerTeleportedFeedback()

void SCR_EditableVehicleComponent.PlayerTeleportedFeedback ( )
protected

Add feedback to players that they are teleported when inside of the vehicle.

◆ SetTransform()

override void SCR_EditableVehicleComponent.SetTransform ( vector  transform[4],
bool  changedByUser = false 
)

Update entity's transformation and broadcast the changes to all clients.

Parameters
[in]transformTarget transformation
[in]changedByUserTrue when the change was initiated by user

Implements SCR_EditableEntityComponent.

◆ UpdatePlayerCountInVehicle()

void SCR_EditableVehicleComponent.UpdatePlayerCountInVehicle ( )

Member Data Documentation

◆ m_CompartmentManager

SCR_BaseCompartmentManagerComponent SCR_EditableVehicleComponent.m_CompartmentManager
protected

◆ m_iPlayersInVehicle

int SCR_EditableVehicleComponent.m_iPlayersInVehicle
protected

◆ m_OnUIRefresh

ref ScriptInvoker SCR_EditableVehicleComponent.m_OnUIRefresh
protected

◆ m_VehicleFactionAffiliation

SCR_VehicleFactionAffiliationComponent SCR_EditableVehicleComponent.m_VehicleFactionAffiliation
protected

The documentation for this interface was generated from the following file: