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

Public Member Functions

IEntity GetHeldGadget ()
 Get held (currently in hand) gadget.
 
bool GetIsGadgetADS ()
 Get is player in gadget ADS.
 
SCR_GadgetComponent GetHeldGadgetComponent ()
 Get held (currently in hand) gadget component.
 
void SetGadgetMode (IEntity gadget, EGadgetMode targetMode, bool doFocus=false)
 Set mode of a gadget When changing mode FROM EGadgetMode.IN_HAND to inventory, target should be EGadgetMode.IN_STORAGE -> it will do EGadgetMode.IN_SLOT automatically if it is slotted.
 
void RemoveHeldGadget ()
 Remove gadget held in hand.
 
void ToggleHeldGadget (bool state)
 Toggle held gadget on/off.
 
array< SCR_GadgetComponentGetGadgetsByType (EGadgetType type)
 Get all owned gadgets by type

 
IEntity GetGadgetByType (EGadgetType type)
 Get first owned gadget by type.
 
IEntity GetQuickslotGadgetByType (EGadgetType type)
 Get first owned gadget assigned in quickslot by type.
 
bool IsGadgetOwned (SCR_GadgetComponent gadgetComp)
 Check whether gadget is owned by this entity.
 
void HandleInput (IEntity gadget, float inputVal)
 Additonal pre SetGadgetMode logic for local player, modfying the behavior based on input used & current held gadget state.
 
void OnItemAdded (IEntity item, BaseInventoryStorageComponent storageOwner)
 SCR_InventoryStorageManagerComponent, called on every add to slot, not only to inventory.
 
void OnItemRemoved (IEntity item, BaseInventoryStorageComponent storageOwner)
 SCR_InventoryStorageManagerComponent, called on every remove from slot, not only from inventory.
 
void OnPlayerDeath (SCR_CharacterControllerComponent charController, IEntity instigatorEntity, notnull Instigator instigator)
 SCR_CharacterControllerComponent event.
 
void OnControlledByPlayer (IEntity owner, bool controlled)
 SCR_CharacterControllerComponent event.
 
void OnGadgetStateChanged (IEntity gadget, bool isInHand, bool isOnGround)
 CharacterControllerComponent event.
 
void OnGadgetFocusStateChanged (IEntity gadget, bool isFocused)
 CharacterControllerComponent event, used only for local character.
 
void OnEditorOpened ()
 SCR_EditorManagerEntity event //TODO we shouldnt need this, probably needs to be dependent on camera instead.
 
void SetGadgetADS (bool gadgetADS)
 API for setting raised gadget mode.
 
void AskToggleGadget (SCR_GadgetComponent gadgetComp, bool state)
 Ask method for toggle synchronization called from individual gadgets.
 
override void OnDelete (IEntity owner)
 
void Update (float timeSlice)
 Runs only on local client.
 
override void OnPostInit (IEntity owner)
 

Static Public Member Functions

static ScriptInvoker GetOnGadgetInitDoneInvoker ()
 
static SCR_GadgetManagerComponent GetGadgetManager (IEntity entity)
 Get gadget manager of entity.
 
static bool ValidController (IEntity owner)
 
static void SetGadgetModeStashed (SCR_GadgetComponent gadgetComp, EGadgetMode targetMode)
 Static method for setting gadgets to ground/storage modes for containers such as vehicles which do not have gadget manager.
 

Public Attributes

int m_iRadiosFlags = EGadgetType.RADIO | EGadgetType.RADIO_BACKPACK
 
ref ScriptInvoker< SCR_GadgetComponentm_OnGadgetAdded = new ScriptInvoker()
 
ref ScriptInvoker< SCR_GadgetComponentm_OnGadgetRemoved = new ScriptInvoker()
 

Protected Member Functions

void OnActivateHeldGadget ()
 Activate held gadget.
 
bool CanChangeGadgetMode (IEntity gadget, SCR_GadgetComponent gadgetComp, EGadgetMode targetMode)
 Rules for gadget mode change.
 
void UpdateHeldGadget (IEntity gadget)
 Update currently held(in hand) gadget.
 
void ClearToggleState ()
 Clear toggle state for cases where it needs to be done without waiting for animation.
 
void OnGadgetInput (float value, EActionTrigger reason)
 Input action callback.
 
void ActionFlashlightToggle (float value, EActionTrigger reason)
 Explicit flashlight toggle action.
 
void OnPauseMenu ()
 Input action callback.
 
void OnGadgetADS ()
 Input action callback.
 
void OnGadgetADSHold (float value, EActionTrigger reason)
 Input action callback.
 
void RegisterInitialGadgets (IEntity character)
 Gather initial gadgets.
 
void RegisterVONEntries ()
 Register radio gadgets into the VON system as entries.
 
void UnregisterVONEntries ()
 
void RegisterInputs ()
 Register input actions.
 
void UnregisterInputs ()
 Register input actions.
 
EGadgetType GetGadgetInputAction ()
 Convert invoked input to gadget type.
 
void InitComponent (IEntity owner)
 Initialise component.
 
void RPC_AskToggleGadget (RplId id, bool state)
 Ask RPC to server for gadget toggle.
 
void RPC_DoToggleGadget (RplId id, bool state)
 Do RPC to clients for gadget toggle.
 
void ConnectToGadgetsManagerSystem ()
 
void DisconnectFromGadgetsManagerSystem ()
 
- Protected Member Functions inherited from ScriptGameComponent
bool OnTicksOnRemoteProxy ()
 

Protected Attributes

bool m_bIsGadgetADS
 
IEntity m_HeldGadget
 
SCR_GadgetComponent m_HeldGadgetComponent
 
SCR_GadgetComponent m_HiddenGadgetComponent
 
InputManager m_InputManager
 
SCR_InventoryStorageManagerComponent m_InventoryStorageMgr
 
SCR_CharacterControllerComponent m_Controller
 
SCR_VONController m_VONController
 
ref SCR_GadgetInvokersInitState m_pInvokersState = new SCR_GadgetInvokersInitState(this)
 
ref array< ref array< SCR_GadgetComponent > > m_aInventoryGadgetTypes = {}
 
ref map< EGadgetType, int > m_aGadgetArrayMap = new map<EGadgetType, int>
 
SCR_GadgetComponent m_LastHeldGadgetComponent
 

Static Protected Attributes

static ref ScriptInvoker< IEntity, SCR_GadgetManagerComponents_OnGadgetInitDone = new ScriptInvoker()
 

Member Function Documentation

◆ ActionFlashlightToggle()

void SCR_GadgetManagerComponent.ActionFlashlightToggle ( float  value,
EActionTrigger  reason 
)
protected

Explicit flashlight toggle action.

Parameters
[in]value
[in]reason

◆ AskToggleGadget()

void SCR_GadgetManagerComponent.AskToggleGadget ( SCR_GadgetComponent  gadgetComp,
bool  state 
)

Ask method for toggle synchronization called from individual gadgets.

Parameters
[in]gadgetCompis gadget component
[in]stateis desired toggle state, true: active

◆ CanChangeGadgetMode()

bool SCR_GadgetManagerComponent.CanChangeGadgetMode ( IEntity  gadget,
SCR_GadgetComponent  gadgetComp,
EGadgetMode  targetMode 
)
protected

Rules for gadget mode change.

Parameters
[in]gadgetis the subject
[in]gadgetCompis the subjects gadget component
[in]targetModeis the wanted mode

◆ ClearToggleState()

void SCR_GadgetManagerComponent.ClearToggleState ( )
protected

Clear toggle state for cases where it needs to be done without waiting for animation.

◆ ConnectToGadgetsManagerSystem()

void SCR_GadgetManagerComponent.ConnectToGadgetsManagerSystem ( )
protected

◆ DisconnectFromGadgetsManagerSystem()

void SCR_GadgetManagerComponent.DisconnectFromGadgetsManagerSystem ( )
protected

◆ GetGadgetByType()

IEntity SCR_GadgetManagerComponent.GetGadgetByType ( EGadgetType  type)

Get first owned gadget by type.

Parameters
[in]typeis the type of gadget being searched
Returns
Returns gadget of given type or null if not found

◆ GetGadgetInputAction()

EGadgetType SCR_GadgetManagerComponent.GetGadgetInputAction ( )
protected

Convert invoked input to gadget type.

Returns
gadget type

◆ GetGadgetManager()

static SCR_GadgetManagerComponent SCR_GadgetManagerComponent.GetGadgetManager ( IEntity  entity)
static

Get gadget manager of entity.

Returns
gadget manager

◆ GetGadgetsByType()

array< SCR_GadgetComponent > SCR_GadgetManagerComponent.GetGadgetsByType ( EGadgetType  type)

Get all owned gadgets by type

Parameters
[in]typeis the type of gadget being searched
Returns
Returns array of gadget of the given type or null if not found

◆ GetHeldGadget()

IEntity SCR_GadgetManagerComponent.GetHeldGadget ( )

Get held (currently in hand) gadget.

Returns
held gadget entity

◆ GetHeldGadgetComponent()

SCR_GadgetComponent SCR_GadgetManagerComponent.GetHeldGadgetComponent ( )

Get held (currently in hand) gadget component.

Returns
held gadget component

◆ GetIsGadgetADS()

bool SCR_GadgetManagerComponent.GetIsGadgetADS ( )

Get is player in gadget ADS.

Returns
if gadget is in ADS

◆ GetOnGadgetInitDoneInvoker()

static ScriptInvoker SCR_GadgetManagerComponent.GetOnGadgetInitDoneInvoker ( )
static
Returns

◆ GetQuickslotGadgetByType()

IEntity SCR_GadgetManagerComponent.GetQuickslotGadgetByType ( EGadgetType  type)

Get first owned gadget assigned in quickslot by type.

Parameters
[in]typeis the type of gadget being searched
Returns
Returns gadget of given type or null if not found

◆ HandleInput()

void SCR_GadgetManagerComponent.HandleInput ( IEntity  gadget,
float  inputVal 
)

Additonal pre SetGadgetMode logic for local player, modfying the behavior based on input used & current held gadget state.

Parameters
[in]gadgetis the subject
[in]inputValdetermines type of input we want to execute, click/hold version

◆ InitComponent()

void SCR_GadgetManagerComponent.InitComponent ( IEntity  owner)
protected

Initialise component.

Parameters
[in]ownerthe owner entity

◆ IsGadgetOwned()

bool SCR_GadgetManagerComponent.IsGadgetOwned ( SCR_GadgetComponent  gadgetComp)

Check whether gadget is owned by this entity.

Parameters
[in]gadgetComp
Returns
true if owned

◆ OnActivateHeldGadget()

void SCR_GadgetManagerComponent.OnActivateHeldGadget ( )
protected

Activate held gadget.

◆ OnControlledByPlayer()

void SCR_GadgetManagerComponent.OnControlledByPlayer ( IEntity  owner,
bool  controlled 
)

SCR_CharacterControllerComponent event.

Parameters
[in]owner
[in]controlled

◆ OnDelete()

override void SCR_GadgetManagerComponent.OnDelete ( IEntity  owner)

◆ OnEditorOpened()

void SCR_GadgetManagerComponent.OnEditorOpened ( )

SCR_EditorManagerEntity event //TODO we shouldnt need this, probably needs to be dependent on camera instead.

◆ OnGadgetADS()

void SCR_GadgetManagerComponent.OnGadgetADS ( )
protected

Input action callback.

◆ OnGadgetADSHold()

void SCR_GadgetManagerComponent.OnGadgetADSHold ( float  value,
EActionTrigger  reason 
)
protected

Input action callback.

Parameters
[in]value
[in]reason

◆ OnGadgetFocusStateChanged()

void SCR_GadgetManagerComponent.OnGadgetFocusStateChanged ( IEntity  gadget,
bool  isFocused 
)

CharacterControllerComponent event, used only for local character.

Parameters
[in]gadget
[in]isFocused

◆ OnGadgetInput()

void SCR_GadgetManagerComponent.OnGadgetInput ( float  value,
EActionTrigger  reason 
)
protected

Input action callback.

Parameters
[in]value
[in]reason

◆ OnGadgetStateChanged()

void SCR_GadgetManagerComponent.OnGadgetStateChanged ( IEntity  gadget,
bool  isInHand,
bool  isOnGround 
)

CharacterControllerComponent event.

Parameters
[in]gadget
[in]isInHand
[in]isOnGround

◆ OnItemAdded()

void SCR_GadgetManagerComponent.OnItemAdded ( IEntity  item,
BaseInventoryStorageComponent  storageOwner 
)

SCR_InventoryStorageManagerComponent, called on every add to slot, not only to inventory.

Parameters
[in]item
[in]storageOwner

◆ OnItemRemoved()

void SCR_GadgetManagerComponent.OnItemRemoved ( IEntity  item,
BaseInventoryStorageComponent  storageOwner 
)

SCR_InventoryStorageManagerComponent, called on every remove from slot, not only from inventory.

Parameters
[in]item
[in]storageOwner

◆ OnPauseMenu()

void SCR_GadgetManagerComponent.OnPauseMenu ( )
protected

Input action callback.

◆ OnPlayerDeath()

void SCR_GadgetManagerComponent.OnPlayerDeath ( SCR_CharacterControllerComponent  charController,
IEntity  instigatorEntity,
notnull Instigator  instigator 
)

SCR_CharacterControllerComponent event.

Parameters
[in]charController
[in]instigatorEntity
[in]instigator

◆ OnPostInit()

override void SCR_GadgetManagerComponent.OnPostInit ( IEntity  owner)

◆ RegisterInitialGadgets()

void SCR_GadgetManagerComponent.RegisterInitialGadgets ( IEntity  character)
protected

Gather initial gadgets.

Parameters
[in]characteris the query target

◆ RegisterInputs()

void SCR_GadgetManagerComponent.RegisterInputs ( )
protected

Register input actions.

◆ RegisterVONEntries()

void SCR_GadgetManagerComponent.RegisterVONEntries ( )
protected

Register radio gadgets into the VON system as entries.

◆ RemoveHeldGadget()

void SCR_GadgetManagerComponent.RemoveHeldGadget ( )

Remove gadget held in hand.

◆ RPC_AskToggleGadget()

void SCR_GadgetManagerComponent.RPC_AskToggleGadget ( RplId  id,
bool  state 
)
protected

Ask RPC to server for gadget toggle.

Parameters
[in]idis unique Rpl id of the gadget
[in]stateis desired toggle state, true: active

◆ RPC_DoToggleGadget()

void SCR_GadgetManagerComponent.RPC_DoToggleGadget ( RplId  id,
bool  state 
)
protected

Do RPC to clients for gadget toggle.

Parameters
[in]idis unique Rpl id of the gadget
[in]stateis desired toggle state, true: active

◆ SetGadgetADS()

void SCR_GadgetManagerComponent.SetGadgetADS ( bool  gadgetADS)

API for setting raised gadget mode.

Parameters
[in]gadgetADS

◆ SetGadgetMode()

void SCR_GadgetManagerComponent.SetGadgetMode ( IEntity  gadget,
EGadgetMode  targetMode,
bool  doFocus = false 
)

Set mode of a gadget When changing mode FROM EGadgetMode.IN_HAND to inventory, target should be EGadgetMode.IN_STORAGE -> it will do EGadgetMode.IN_SLOT automatically if it is slotted.

Parameters
[in]gadgetis the subject
[in]targetModeis the mode being switched into
[in]doFocusdetermines whether the gadget will becomes focused straight away

◆ SetGadgetModeStashed()

static void SCR_GadgetManagerComponent.SetGadgetModeStashed ( SCR_GadgetComponent  gadgetComp,
EGadgetMode  targetMode 
)
static

Static method for setting gadgets to ground/storage modes for containers such as vehicles which do not have gadget manager.

Parameters
[in]gadgetCompis the subject component
[in]targetModeis the mode being switched into

◆ ToggleHeldGadget()

void SCR_GadgetManagerComponent.ToggleHeldGadget ( bool  state)

Toggle held gadget on/off.

Parameters
[in]statetrue = ON / false = OFF

◆ UnregisterInputs()

void SCR_GadgetManagerComponent.UnregisterInputs ( )
protected

Register input actions.

◆ UnregisterVONEntries()

void SCR_GadgetManagerComponent.UnregisterVONEntries ( )
protected

◆ Update()

void SCR_GadgetManagerComponent.Update ( float  timeSlice)

Runs only on local client.

Parameters
[in]timeSlice

◆ UpdateHeldGadget()

void SCR_GadgetManagerComponent.UpdateHeldGadget ( IEntity  gadget)
protected

Update currently held(in hand) gadget.

Parameters
[in]gadgetis the subject

◆ ValidController()

static bool SCR_GadgetManagerComponent.ValidController ( IEntity  owner)
static

Member Data Documentation

◆ m_aGadgetArrayMap

ref map<EGadgetType, int> SCR_GadgetManagerComponent.m_aGadgetArrayMap = new map<EGadgetType, int>
protected

◆ m_aInventoryGadgetTypes

ref array<ref array <SCR_GadgetComponent> > SCR_GadgetManagerComponent.m_aInventoryGadgetTypes = {}
protected

◆ m_bIsGadgetADS

bool SCR_GadgetManagerComponent.m_bIsGadgetADS
protected

◆ m_Controller

SCR_CharacterControllerComponent SCR_GadgetManagerComponent.m_Controller
protected

◆ m_HeldGadget

IEntity SCR_GadgetManagerComponent.m_HeldGadget
protected

◆ m_HeldGadgetComponent

SCR_GadgetComponent SCR_GadgetManagerComponent.m_HeldGadgetComponent
protected

◆ m_HiddenGadgetComponent

SCR_GadgetComponent SCR_GadgetManagerComponent.m_HiddenGadgetComponent
protected

◆ m_InputManager

InputManager SCR_GadgetManagerComponent.m_InputManager
protected

◆ m_InventoryStorageMgr

SCR_InventoryStorageManagerComponent SCR_GadgetManagerComponent.m_InventoryStorageMgr
protected

◆ m_iRadiosFlags

int SCR_GadgetManagerComponent.m_iRadiosFlags = EGadgetType.RADIO | EGadgetType.RADIO_BACKPACK

◆ m_LastHeldGadgetComponent

SCR_GadgetComponent SCR_GadgetManagerComponent.m_LastHeldGadgetComponent
protected

◆ m_OnGadgetAdded

ref ScriptInvoker<SCR_GadgetComponent> SCR_GadgetManagerComponent.m_OnGadgetAdded = new ScriptInvoker()

◆ m_OnGadgetRemoved

ref ScriptInvoker<SCR_GadgetComponent> SCR_GadgetManagerComponent.m_OnGadgetRemoved = new ScriptInvoker()

◆ m_pInvokersState

ref SCR_GadgetInvokersInitState SCR_GadgetManagerComponent.m_pInvokersState = new SCR_GadgetInvokersInitState(this)
protected

◆ m_VONController

SCR_VONController SCR_GadgetManagerComponent.m_VONController
protected

◆ s_OnGadgetInitDone

ref ScriptInvoker<IEntity, SCR_GadgetManagerComponent> SCR_GadgetManagerComponent.s_OnGadgetInitDone = new ScriptInvoker()
staticprotected

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