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

Public Member Functions

override void DebugDrawPosition ()
 
bool IsCompartmentAccessible ()
 
void SetCompartmentAccessible (bool val)
 
int GetCompartmentSection ()
 Switching seats is allowed only between compartments with matching area.
 
bool GetIsWaterTight ()
 
IEntity GetVehicle ()
 Get vehicle this slot belongs to.
 
IEntity GetVehicle (out int compartmentID)
 Get vehicle this slot belongs to.
 
bool IsOccupied ()
 Get if compartment is occupied.
 
void DamageOccupant (float damage, EDamageType damageType, notnull Instigator instigator, bool damageWhileGetIn=true, bool damageWhileGetOut=true)
 
void ScreenShakeOccupant (float damage)
 
void KillOccupant (notnull Instigator instigator, bool eject=false, bool gettingIn=false, bool gettingOut=false)
 
void EjectOccupant (bool forceEject=false, bool ejectUnconsciously=false)
 Get default occupent prefab data.
 
SCR_DefaultOccupantData GetDefaultOccupantData ()
 Get default occupent prefab data.
 
ResourceName GetDefaultOccupantPrefab (bool checkIfValid=true)
 Get default occupent prefab ResourceName.
 
IEntity SpawnDefaultCharacterInCompartment (inout AIGroup group, ResourceName groupPrefab="{000CD338713F2B5A}Prefabs/AI/Groups/Group_Base.et")
 Spawn default character within the compartment (Server only) Default characters are defined on the CompartmentSlot.
 
IEntity SpawnCharacterInCompartment (ResourceName characterPrefab, inout AIGroup group, ResourceName groupPrefab="{000CD338713F2B5A}Prefabs/AI/Groups/Group_Base.et")
 Spawn character within the compartment (Server only)
 
float GetFreelookAimLimitOverrideDown ()
 
float GetFreelookAimLimitOverrideUp ()
 
float GetFreelookAimLimitOverrideLeft ()
 
float GetFreelookAimLimitOverrideRight ()
 
vector GetFreelookCameraNeckOffsetScale ()
 
float GetFreelookCameraNeckFollowTraverse ()
 
float GetRandomEjectionChance ()
 
- Public Member Functions inherited from ExtBaseCompartmentSlot
proto external int GetAddUserActions (out notnull array< CompartmentUserAction > outAddUserActions)
 
proto external bool IsPiloting ()
 
proto external void SetAutoConnectTurret (string name, array< string > aContextIDs)
 
proto external string GetAutoConnectTurret ()
 
proto external IEntity GetOwner ()
 
proto external BaseControllerComponent GetController ()
 
proto external ECompartmentType GetType ()
 
proto external BaseCompartmentManagerComponent GetManager ()
 
proto external int GetAvailableDoorIndices (out notnull array< int > arr)
 
proto external bool IsAvailableFromDoor (int doorIndex)
 
proto external int PickDoorIndexForPoint (vector point)
 
proto external IEntity AttachedOccupant ()
 
proto external IEntity GetOccupant ()
 
proto external UIInfo GetUIInfo ()
 
proto external bool IsReserved ()
 
proto external bool IsReservedBy (IEntity ent)
 
proto external void SetReserved (IEntity ent)
 
proto external EntitySlotInfo GetPassengerPointInfo ()
 
proto external bool GetForceFreeLook ()
 
proto external bool GetMouseSteering ()
 
proto external bool ShouldEjectUnconsciousDeadCharacters ()
 
proto external void SetCharacterIsStrappedIn (bool val)
 
proto external bool ShouldCharactersFallOutWhenFlipped ()
 
proto external int GetCompartmentMgrID ()
 Returns the manager ID of the compartment. To uniquely identify the compartment, use both GetCompartmentMgrID and GetCompartmentSlotID.
 
proto external int GetCompartmentSlotID ()
 Returns the slot ID of the compartment. To uniquely identify the compartment, use both GetCompartmentMgrID and GetCompartmentSlotID.
 
proto external bool IsGetInLockedFor (IEntity entity)
 Checks if getting in is impossible for a given entity.
 
proto external bool IsGetInLocked ()
 Checks if getting in is locked by anybody.
 
proto external CompartmentUserAction GetGetInAction ()
 
proto external CompartmentUserAction GetGetOutAction ()
 
proto external CompartmentUserAction GetJumpOutAction ()
 
proto external CompartmentUserAction GetSwitchSeatAction ()
 
proto external vector GetPosition ()
 
proto external PointInfo GetOverridenEntryPointInfo ()
 
proto external PointInfo GetOverridenExitPointInfo ()
 
proto external bool ShouldSkipCharacterDoorAnimationsFromSeat ()
 
proto external string GetCompartmentUniqueName ()
 
proto external void AttachTurret (TurretControllerComponent turretController, array< string > aContextIDs)
 
proto external void DetachTurret ()
 

Static Public Attributes

static const vector SPAWN_IN_VEHICLE_OFFSET = Vector(0, 250, 0)
 

Protected Attributes

int m_iCompartmentSection
 
bool m_bIsWaterTight
 
ref SCR_DefaultOccupantData m_DefaultOccupantData
 
ref SCR_BaseScreenShakeData m_ScreenShakeData
 
float m_fFreelookAimLimitOverrideDown
 
float m_fFreelookAimLimitOverrideUp
 
float m_fFreelookAimLimitOverrideLeft
 
float m_fFreelookAimLimitOverrideRight
 
vector m_vFreelookCameraNeckOffsetScale
 
float m_fFreelookCameraNeckFollowTraverse
 
float m_fRandomEjectionChance
 
bool m_bCompartmentAccessible = true
 

Additional Inherited Members

void DebugDrawPosition ()
 

Member Function Documentation

◆ DamageOccupant()

void BaseCompartmentSlot.DamageOccupant ( float  damage,
EDamageType  damageType,
notnull Instigator  instigator,
bool  damageWhileGetIn = true,
bool  damageWhileGetOut = true 
)

◆ DebugDrawPosition()

override void BaseCompartmentSlot.DebugDrawPosition ( )

◆ EjectOccupant()

void BaseCompartmentSlot.EjectOccupant ( bool  forceEject = false,
bool  ejectUnconsciously = false 
)

Get default occupent prefab data.

Parameters
[in]irrespectiveEjectForce occupant out of compartment regardless of whether it makes sense realistically.
[in]gettingIn
[in]gettingOut

◆ GetCompartmentSection()

int BaseCompartmentSlot.GetCompartmentSection ( )

Switching seats is allowed only between compartments with matching area.

◆ GetDefaultOccupantData()

SCR_DefaultOccupantData BaseCompartmentSlot.GetDefaultOccupantData ( )

Get default occupent prefab data.

Returns
Default occupant data

◆ GetDefaultOccupantPrefab()

ResourceName BaseCompartmentSlot.GetDefaultOccupantPrefab ( bool  checkIfValid = true)

Get default occupent prefab ResourceName.

Returns
Default occupant prefab

◆ GetFreelookAimLimitOverrideDown()

float BaseCompartmentSlot.GetFreelookAimLimitOverrideDown ( )

◆ GetFreelookAimLimitOverrideLeft()

float BaseCompartmentSlot.GetFreelookAimLimitOverrideLeft ( )

◆ GetFreelookAimLimitOverrideRight()

float BaseCompartmentSlot.GetFreelookAimLimitOverrideRight ( )

◆ GetFreelookAimLimitOverrideUp()

float BaseCompartmentSlot.GetFreelookAimLimitOverrideUp ( )

◆ GetFreelookCameraNeckFollowTraverse()

float BaseCompartmentSlot.GetFreelookCameraNeckFollowTraverse ( )

◆ GetFreelookCameraNeckOffsetScale()

vector BaseCompartmentSlot.GetFreelookCameraNeckOffsetScale ( )

◆ GetIsWaterTight()

bool BaseCompartmentSlot.GetIsWaterTight ( )

◆ GetRandomEjectionChance()

float BaseCompartmentSlot.GetRandomEjectionChance ( )

◆ GetVehicle() [1/2]

IEntity BaseCompartmentSlot.GetVehicle ( )

Get vehicle this slot belongs to.

May differ from GetOwner() if the slot is placed in vehicle's child entity, e.g., truck's cargo frame.

Returns
Vehicle entity

◆ GetVehicle() [2/2]

IEntity BaseCompartmentSlot.GetVehicle ( out int  compartmentID)

Get vehicle this slot belongs to.

May differ from GetOwner() if the slot is placed in vehicle's child entity, e.g., truck's cargo frame.

Parameters
[out]compartmentIDVariable to be filled with ID of the compartment relative to the vehicle. May differ from GetCompartmentSlotID() which returns only ID within the entity the slot belong sto.
Returns
Vehicle entity

◆ IsCompartmentAccessible()

bool BaseCompartmentSlot.IsCompartmentAccessible ( )

◆ IsOccupied()

bool BaseCompartmentSlot.IsOccupied ( )

Get if compartment is occupied.

Returns
returns true if occupied else returns false

◆ KillOccupant()

void BaseCompartmentSlot.KillOccupant ( notnull Instigator  instigator,
bool  eject = false,
bool  gettingIn = false,
bool  gettingOut = false 
)

◆ ScreenShakeOccupant()

void BaseCompartmentSlot.ScreenShakeOccupant ( float  damage)

◆ SetCompartmentAccessible()

void BaseCompartmentSlot.SetCompartmentAccessible ( bool  val)

◆ SpawnCharacterInCompartment()

IEntity BaseCompartmentSlot.SpawnCharacterInCompartment ( ResourceName  characterPrefab,
inout AIGroup  group,
ResourceName  groupPrefab = "{000CD338713F2B5A}Prefabs/AI/Groups/Group_Base.et" 
)

Spawn character within the compartment (Server only)

Parameters
characterPrefabPrefab to spawn in compartment
[in,out]groupif Left empty it will create a new group and place the character in it and return it. Else it will place the character in the given group
createGroupForCharacterIf a group should be created for the spawned character
Returns
Returns spawned character

◆ SpawnDefaultCharacterInCompartment()

IEntity BaseCompartmentSlot.SpawnDefaultCharacterInCompartment ( inout AIGroup  group,
ResourceName  groupPrefab = "{000CD338713F2B5A}Prefabs/AI/Groups/Group_Base.et" 
)

Spawn default character within the compartment (Server only) Default characters are defined on the CompartmentSlot.

Parameters
[in,out]groupif Left empty it will create a new group and place the character in it and return it. Else it will place the character in the given group
groupPrefabGroupprefab, Generally want to keep it as default value as faction and usch is set automaticly
Returns
Returns spawned character

Member Data Documentation

◆ m_bCompartmentAccessible

bool BaseCompartmentSlot.m_bCompartmentAccessible = true
protected

◆ m_bIsWaterTight

bool BaseCompartmentSlot.m_bIsWaterTight
protected

◆ m_DefaultOccupantData

ref SCR_DefaultOccupantData BaseCompartmentSlot.m_DefaultOccupantData
protected

◆ m_fFreelookAimLimitOverrideDown

float BaseCompartmentSlot.m_fFreelookAimLimitOverrideDown
protected

◆ m_fFreelookAimLimitOverrideLeft

float BaseCompartmentSlot.m_fFreelookAimLimitOverrideLeft
protected

◆ m_fFreelookAimLimitOverrideRight

float BaseCompartmentSlot.m_fFreelookAimLimitOverrideRight
protected

◆ m_fFreelookAimLimitOverrideUp

float BaseCompartmentSlot.m_fFreelookAimLimitOverrideUp
protected

◆ m_fFreelookCameraNeckFollowTraverse

float BaseCompartmentSlot.m_fFreelookCameraNeckFollowTraverse
protected

◆ m_fRandomEjectionChance

float BaseCompartmentSlot.m_fRandomEjectionChance
protected

◆ m_iCompartmentSection

int BaseCompartmentSlot.m_iCompartmentSection
protected

◆ m_ScreenShakeData

ref SCR_BaseScreenShakeData BaseCompartmentSlot.m_ScreenShakeData
protected

◆ m_vFreelookCameraNeckOffsetScale

vector BaseCompartmentSlot.m_vFreelookCameraNeckOffsetScale
protected

◆ SPAWN_IN_VEHICLE_OFFSET

const vector BaseCompartmentSlot.SPAWN_IN_VEHICLE_OFFSET = Vector(0, 250, 0)
static

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