Arma Reforger Script API
|
Public Member Functions | |
void | OnExecutedServer (notnull IEntity actionOwner, notnull IEntity actionUser, notnull SCR_BaseUseSupportStationAction action) |
Executed the support Station effect (Server only). | |
bool | IsValid (IEntity actionOwner, IEntity actionUser, SCR_BaseUseSupportStationAction action, vector actionPosition, out ESupportStationReasonInvalid reasonInvalid, out int supplyCost) |
Executed when action has been executed. | |
ESupportStationType | GetSupportStationType () |
Get Support station type. | |
ESupportStationPriority | GetSupportStationPriority () |
Get Support station priority. | |
void | SetEnabled (bool enable) |
Set support station enabled. | |
bool | IsEnabled () |
Get if support station is enabled. | |
ScriptInvoker | GetOnEnabledChanged () |
Get scriptinvoker when support station is enabled changes. | |
SCR_Faction | GetFaction () |
Get current faction of Support Station (Or if allowed get default faction) | |
int | GetMaxAvailableSupplies () |
Scan for the max available supplies that can be used for the action. | |
bool | AreSuppliesEnabled () |
Get if support station should check for supplies. | |
SCR_ResourceConsumer | GetResourceConsumer () |
float | GetRange () |
Returns range. | |
bool | IsInRange (notnull IEntity actionOwner, vector actionPosition) |
param[in] actionOwner Owner of the support station action to check range of param[in] actionPosition Action position if the bounding box is not used or in valid to check range | |
bool | UsesRange () |
If true then the action will use range, if false it will not use range and only execute if the action and the action manager is on the entity itself. | |
vector | GetPosition () |
Get the center of the Support station that is used with range + offset. | |
vector | GetOffset () |
bool | IgnoreSelf () |
If true and the action uses range it will never check itself. | |
LocalizedString | GetOverrideUserActionName () |
bool | OverrideDamageState (EDamageState damageState, bool checkIfHasDamageSystem) |
Allows devs to functionally destroy the Support station (or other state) without the need of a DamageManager. | |
override bool | RplSave (ScriptBitWriter writer) |
override bool | RplLoad (ScriptBitReader reader) |
override void | EOnInit (IEntity owner) |
override void | OnPostInit (IEntity owner) |
override void | OnDelete (IEntity owner) |
Static Public Member Functions | |
static SCR_BaseSupportStationComponent | FindSupportStation (notnull IEntity entity, SCR_ESupportStationResupplyType type=SCR_ESupportStationResupplyType.NONE, SCR_EComponentFinderQueryFlags queryFlags=SCR_EComponentFinderQueryFlags.ENTITY|SCR_EComponentFinderQueryFlags.SLOTS) |
Get support station from entity. | |
Protected Member Functions | |
void | FindEntityIds (IEntity owner, IEntity user, out RplId ownerId, out RplId userId, out int playerId) |
void | GetEntitiesFromID (RplId ownerId, RplId userId, out IEntity owner, out IEntity user) |
void | OnExecuteBroadcast (RplId ownerId, RplId userId, int userPlayerId, int actionId) |
void | OnExecute (IEntity actionOwner, IEntity actionUser, int playerId, SCR_BaseUseSupportStationAction action) |
Called by OnExecuteBroadcast and is executed both on server and on client playerId can be -1 if the user was not a player. | |
void | OnSuccessfullyExecuted (IEntity actionOwner, IEntity actionUser, SCR_BaseUseSupportStationAction action) |
void | PlaySoundEffect (SCR_AudioSourceConfiguration audioConfig, notnull IEntity soundOwner, SCR_BaseUseSupportStationAction action) |
void | PlayCharacterVoiceEvent (IEntity character) |
void | SetEnabledBroadcast (bool enable) |
bool | IsMoving () |
bool | IsUserValidFaction (IEntity user) |
int | GetSupplyCostAction (IEntity actionOwner, IEntity actionUser, SCR_BaseUseSupportStationAction action) |
Get the minimum amount of supplies needed for the action. | |
bool | HasEnoughSupplies (IEntity actionOwner, IEntity actionUser, int supplyAmountToCheck) |
bool | OnConsumeSuppliesServer (int amount) |
Action is executed and supplies are used (Server Only) | |
SCR_ResourceComponent | GetResourceComponent () |
bool | GetSendNotificationOnUse () |
SCR_AudioSourceConfiguration | GetOnUseAudioConfig () |
void | GetPlayerIdsInVehicle (IEntity vehicle, out notnull array< int > playerIds) |
void | OnHitZoneDamageStateChanged (SCR_HitZone defaultHitZone) |
Called when default hitZone damage state changed. Not called if entity has a damage manager. | |
void | OnDamageStateChanged (EDamageState damageState) |
Called when damage manager (or default hitZone) damage state changes. | |
void | AddRemoveOnDamageStateChanged (IEntity owner, bool subscribe) |
Grabs either damage manager or HitZoneContainer to subscribe to OnDamageStateChanged. | |
bool | InitValidSetup () |
void | TEMP_OnInteractorReplicated () |
void | DelayedInit (IEntity owner) |
Protected Attributes | |
ESupportStationPriority | m_eSupportStationPriority |
float | m_fRange |
bool | m_bUseRangeBoundingBox |
bool | m_bIsEnabled |
int | m_iBaseSupplyCostOnUse |
bool | m_bIgnoreSelf |
vector | m_vOffset |
ESupportStationFactionUsage | m_eFactionUsageCheck |
LocalizedString | m_sOverrideUserActionName |
SCR_ResourceConsumer | m_ResourceConsumer |
ref ScriptInvoker | Event_OnEnabledChanged |
Physics | m_Physics |
EDamageState | m_eCurrentDamageState = EDamageState.UNDAMAGED |
FactionAffiliationComponent | m_FactionAffiliationComponent |
SCR_ServicePointComponent | m_ServicePointComponent |
SCR_ResourceSystemSubscriptionHandleBase | m_ResourceSubscriptionHandleConsumer |
|
protected |
Grabs either damage manager or HitZoneContainer to subscribe to OnDamageStateChanged.
bool SCR_BaseSupportStationComponent.AreSuppliesEnabled | ( | ) |
Get if support station should check for supplies.
|
protected |
override void SCR_BaseSupportStationComponent.EOnInit | ( | IEntity | owner | ) |
|
protected |
|
static |
Get support station from entity.
[in] | entity | Entity to get support station from |
[in] | type | Support station type to find. Leave NONE if any is valid |
|
protected |
SCR_Faction SCR_BaseSupportStationComponent.GetFaction | ( | ) |
Get current faction of Support Station (Or if allowed get default faction)
int SCR_BaseSupportStationComponent.GetMaxAvailableSupplies | ( | ) |
Scan for the max available supplies that can be used for the action.
vector SCR_BaseSupportStationComponent.GetOffset | ( | ) |
ScriptInvoker SCR_BaseSupportStationComponent.GetOnEnabledChanged | ( | ) |
Get scriptinvoker when support station is enabled changes.
Sends over bool with enabled state
|
protected |
LocalizedString SCR_BaseSupportStationComponent.GetOverrideUserActionName | ( | ) |
|
protected |
vector SCR_BaseSupportStationComponent.GetPosition | ( | ) |
Get the center of the Support station that is used with range + offset.
float SCR_BaseSupportStationComponent.GetRange | ( | ) |
Returns range.
If range is disabled it will be -1
|
protected |
SCR_ResourceConsumer SCR_BaseSupportStationComponent.GetResourceConsumer | ( | ) |
|
protected |
|
protected |
Get the minimum amount of supplies needed for the action.
This is the amount of supplies needed to pass the IsValid check when using supplies and when executed The method is generally overwritten in inherited support stations
Implemented in SCR_BaseDamageHealSupportStationComponent, SCR_HealSupportStationComponent, SCR_RepairSupportStationComponent, and SCR_ResupplySupportStationComponent.
ESupportStationPriority SCR_BaseSupportStationComponent.GetSupportStationPriority | ( | ) |
Get Support station priority.
ESupportStationType SCR_BaseSupportStationComponent.GetSupportStationType | ( | ) |
Get Support station type.
Implemented in SCR_FuelSupportStationComponent, SCR_HealSupportStationComponent, SCR_LoadCasualtySupportStationComponent, SCR_RepairSupportStationComponent, SCR_ResupplyMedicalGadgetSupportStationComponent, and SCR_ResupplySupportStationComponent.
|
protected |
bool SCR_BaseSupportStationComponent.IgnoreSelf | ( | ) |
If true and the action uses range it will never check itself.
If false it will check itself though use the standard priority for it
|
protected |
Implemented in SCR_ResupplySupportStationComponent.
bool SCR_BaseSupportStationComponent.IsEnabled | ( | ) |
Get if support station is enabled.
bool SCR_BaseSupportStationComponent.IsInRange | ( | notnull IEntity | actionOwner, |
vector | actionPosition | ||
) |
param[in] actionOwner Owner of the support station action to check range of param[in] actionPosition Action position if the bounding box is not used or in valid to check range
|
protected |
|
protected |
bool SCR_BaseSupportStationComponent.IsValid | ( | IEntity | actionOwner, |
IEntity | actionUser, | ||
SCR_BaseUseSupportStationAction | action, | ||
vector | actionPosition, | ||
out ESupportStationReasonInvalid | reasonInvalid, | ||
out int | supplyCost | ||
) |
Executed when action has been executed.
Here you can execute things such as removing supplies/fuel from the entity
[in] | actionOwner | entity on which the ActionManager is |
[in] | actionUser | Entity that started the interaction |
[in] | action | |
[in] | actionPosition | |
[out] | reasonInvalid | Reason why action is invalid |
[out] | supplyCost | cost when using the support station |
Implemented in SCR_BaseDamageHealSupportStationComponent, SCR_FuelSupportStationComponent, SCR_LoadCasualtySupportStationComponent, and SCR_ResupplySupportStationComponent.
|
protected |
Action is executed and supplies are used (Server Only)
[in] | amount |
|
protected |
Called when damage manager (or default hitZone) damage state changes.
override void SCR_BaseSupportStationComponent.OnDelete | ( | IEntity | owner | ) |
|
protected |
Called by OnExecuteBroadcast and is executed both on server and on client playerId can be -1 if the user was not a player.
Implemented in SCR_BaseDamageHealSupportStationComponent, SCR_FuelSupportStationComponent, and SCR_ResupplySupportStationComponent.
|
protected |
void SCR_BaseSupportStationComponent.OnExecutedServer | ( | notnull IEntity | actionOwner, |
notnull IEntity | actionUser, | ||
notnull SCR_BaseUseSupportStationAction | action | ||
) |
Executed the support Station effect (Server only).
Here you can execute things such as removing supplies/fuel from the entity
[in] | actionOwner | entity that is the owner of the ActionManager which initiated the action |
[in] | actionUser | Entity that started the interaction to use the support station |
[in] | action |
Implemented in SCR_BaseDamageHealSupportStationComponent, SCR_FuelSupportStationComponent, SCR_HealSupportStationComponent, SCR_LoadCasualtySupportStationComponent, SCR_RepairSupportStationComponent, and SCR_ResupplySupportStationComponent.
|
protected |
Called when default hitZone damage state changed. Not called if entity has a damage manager.
override void SCR_BaseSupportStationComponent.OnPostInit | ( | IEntity | owner | ) |
|
protected |
bool SCR_BaseSupportStationComponent.OverrideDamageState | ( | EDamageState | damageState, |
bool | checkIfHasDamageSystem | ||
) |
Allows devs to functionally destroy the Support station (or other state) without the need of a DamageManager.
If a damage system exists on the entity then it is adviced to let it handle the logic.
[in] | damageState | State to set |
[in] | checkIfHasDamageSystem | If true it will check if any damage system is present and if so will not over the state. If false it will simply override it |
|
protected |
|
protected |
override bool SCR_BaseSupportStationComponent.RplLoad | ( | ScriptBitReader | reader | ) |
override bool SCR_BaseSupportStationComponent.RplSave | ( | ScriptBitWriter | writer | ) |
void SCR_BaseSupportStationComponent.SetEnabled | ( | bool | enable | ) |
Set support station enabled.
If disabled it will not allow players to use it (Server only)
[in] | enable | true is enabled |
|
protected |
|
protected |
bool SCR_BaseSupportStationComponent.UsesRange | ( | ) |
If true then the action will use range, if false it will not use range and only execute if the action and the action manager is on the entity itself.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |