Arma Reforger Script API
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | Static Public Attributes | Protected Member Functions | Protected Attributes | List of all members
SCR_NameTagRulesetBase Interface Reference

Base class for nametag visiblity ruleset - single tag displayed continuously. More...

Inheritance diagram for SCR_NameTagRulesetBase:
[legend]

Public Member Functions

bool Init (SCR_NameTagDisplay display, SCR_NameTagConfig config)
 Initialize ruleset.
 
void Update (float timeSlice, array< ref SCR_NameTagData > nameTags, SCR_NameTagData nameTagPlayer)
 
void ~SCR_NameTagRulesetBase ()
 

Public Attributes

float m_fTagFadeTime
 
float m_fDeadEntitiesCleanup
 
SCR_NameTagData m_CurrentPlayerTag
 

Static Public Attributes

const int DISABLE_FLAGS = ENameTagFlags.UPDATE_DISABLE | ENameTagFlags.DISABLED
 
const int SECONDARY_FLAGS = ENameTagEntityState.VON
 
const int NEAR_TAG_ANGLE = 3
 
const int DISABLED_CLEANUP = 5.0
 
const int POSITION_UPDATE = 0.1
 
const float POS_TRANSITION_MULT = 2
 
const float VERT_ANGLE_ADJUST = 0.3
 
const vector HEAD_LOS_OFFSET = "0 0.05 0"
 
const float VON_STOP_TIME = 1
 

Protected Member Functions

bool TestVisibility (SCR_NameTagData data, float timeSlice)
 Determine whether the tag passes basic conditions for visibility.
 
bool TestVisibilityFiltered (SCR_NameTagData data, float timeSlice)
 Determine secondary visibility rules from the filtered tags.
 
void UpdateVisibleTag (SCR_NameTagData data, float timeSlice)
 Update for visible tags.
 
void CheckLOS ()
 Change opacity based on line of sight.
 
bool TraceLOS (SCR_NameTagData data)
 Check if target is visible to the player.
 
void SelectTagToExpand (float timeSlice)
 Evaluates if player is focusing a nametag entity or not, expands/collapses nametag after a set time.
 
void ExpandTag (SCR_NameTagData data)
 Logic for showing additional info when nametag becomes expanded.
 
void CollapseTag (float timeSlice, SCR_NameTagData data)
 Logic for collapsing the nametag back to its basic format.
 
bool DisableTag (SCR_NameTagData data, float timeSlice)
 Fade out tag and disable it when it no longer passes rules for visibility.
 
float GetCameraToEntityAngle (vector targetOrigin, float verticalWeight)
 Calculates angle between screen center and target entity.
 
void CalculateScreenPos (SCR_NameTagData data)
 Calculate tag 2d screen pos.
 
void DetermineVisibility (float timeSlice)
 Uses provided nametag data to determine which tags pass the visibility conditions and filters them into a new array.
 
void OnUserSettingChanged ()
 Settings changed event.
 
void Cleanup ()
 Cleanup.
 
void UpdateDebug ()
 Debug.
 

Protected Attributes

float m_fTagFocusDelay
 
bool m_bCancelFadeOnNewFocus
 
bool m_bTraceForLOS
 
float m_fLOSFadeDelay
 
int m_iMaxAngle
 
float m_fTimeElapsed = 0
 
float m_fTimeFade = 0
 
float m_fFocusPrioAngle
 
int m_iIndexLOS = 0
 
int m_iRefResolutionX
 
int m_iRefResolutionY
 
SCR_NameTagData m_ClosestAngleTag
 
SCR_NameTagData m_PrimaryTag
 
SCR_NameTagData m_ExpandedTag
 
SCR_2DPIPSightsComponent m_PIPSightsComp
 
BaseWorld m_World
 
WorkspaceWidget m_Workspace
 
SCR_NameTagDisplay m_NTDisplay
 
SCR_NameTagConfig m_ZoneCfg
 
ref array< ref SCR_NameTagDatam_aNameTags = {}
 
ref array< ref SCR_NameTagDatam_aCandidateTags = {}
 

Detailed Description

Base class for nametag visiblity ruleset - single tag displayed continuously.

Constructor & Destructor Documentation

◆ ~SCR_NameTagRulesetBase()

void SCR_NameTagRulesetBase.~SCR_NameTagRulesetBase ( )

Member Function Documentation

◆ CalculateScreenPos()

void SCR_NameTagRulesetBase.CalculateScreenPos ( SCR_NameTagData  data)
protected

Calculate tag 2d screen pos.

Parameters
datais the subject nametag

◆ CheckLOS()

void SCR_NameTagRulesetBase.CheckLOS ( )
protected

Change opacity based on line of sight.

◆ Cleanup()

void SCR_NameTagRulesetBase.Cleanup ( )
protected

Cleanup.

Implemented in SCR_NameTagRulesetSingle.

◆ CollapseTag()

void SCR_NameTagRulesetBase.CollapseTag ( float  timeSlice,
SCR_NameTagData  data 
)
protected

Logic for collapsing the nametag back to its basic format.

Parameters
timeSliceis the frame slice
datais the subject nametag

◆ DetermineVisibility()

void SCR_NameTagRulesetBase.DetermineVisibility ( float  timeSlice)
protected

Uses provided nametag data to determine which tags pass the visibility conditions and filters them into a new array.

Parameters
timeSliceis frame time slice

Implemented in SCR_NameTagRulesetFriendlies, and SCR_NameTagRulesetSingle.

◆ DisableTag()

bool SCR_NameTagRulesetBase.DisableTag ( SCR_NameTagData  data,
float  timeSlice 
)
protected

Fade out tag and disable it when it no longer passes rules for visibility.

Parameters
datais the subject nametag
Returns
True if tag was completely cleaned up

◆ ExpandTag()

void SCR_NameTagRulesetBase.ExpandTag ( SCR_NameTagData  data)
protected

Logic for showing additional info when nametag becomes expanded.

Parameters
datais the subject nametag

◆ GetCameraToEntityAngle()

float SCR_NameTagRulesetBase.GetCameraToEntityAngle ( vector  targetOrigin,
float  verticalWeight 
)
protected

Calculates angle between screen center and target entity.

Parameters
targetOriginis the targets world position
Returns
Returns angle in degrees

◆ Init()

bool SCR_NameTagRulesetBase.Init ( SCR_NameTagDisplay  display,
SCR_NameTagConfig  config 
)

Initialize ruleset.

Returns
Returns true is successful

◆ OnUserSettingChanged()

void SCR_NameTagRulesetBase.OnUserSettingChanged ( )
protected

Settings changed event.

◆ SelectTagToExpand()

void SCR_NameTagRulesetBase.SelectTagToExpand ( float  timeSlice)
protected

Evaluates if player is focusing a nametag entity or not, expands/collapses nametag after a set time.

Parameters
timeSliceis the OnFrame timeslice

◆ TestVisibility()

bool SCR_NameTagRulesetBase.TestVisibility ( SCR_NameTagData  data,
float  timeSlice 
)
protected

Determine whether the tag passes basic conditions for visibility.

Parameters
datais the subject nametag
timeSliceis frame time slice
Returns
Returns true if tag passed conditions for visibility

◆ TestVisibilityFiltered()

bool SCR_NameTagRulesetBase.TestVisibilityFiltered ( SCR_NameTagData  data,
float  timeSlice 
)
protected

Determine secondary visibility rules from the filtered tags.

Parameters
datais the subject nametag
timeSliceis frame time slice
Returns
Returns true if tag passed conditions for visibility

Implemented in SCR_NameTagRulesetFriendlies, and SCR_NameTagRulesetSingle.

◆ TraceLOS()

bool SCR_NameTagRulesetBase.TraceLOS ( SCR_NameTagData  data)
protected

Check if target is visible to the player.

Parameters
datais the subject nametag
Returns
Returns true if the tested target is visible/not obstructed in current players line of sight

◆ Update()

void SCR_NameTagRulesetBase.Update ( float  timeSlice,
array< ref SCR_NameTagData nameTags,
SCR_NameTagData  nameTagPlayer 
)

◆ UpdateDebug()

void SCR_NameTagRulesetBase.UpdateDebug ( )
protected

Debug.

◆ UpdateVisibleTag()

void SCR_NameTagRulesetBase.UpdateVisibleTag ( SCR_NameTagData  data,
float  timeSlice 
)
protected

Update for visible tags.

Parameters
datais the subject nametag
timeSliceis the OnFrame timeslice

Member Data Documentation

◆ DISABLE_FLAGS

const int SCR_NameTagRulesetBase.DISABLE_FLAGS = ENameTagFlags.UPDATE_DISABLE | ENameTagFlags.DISABLED
static

◆ DISABLED_CLEANUP

const int SCR_NameTagRulesetBase.DISABLED_CLEANUP = 5.0
static

◆ HEAD_LOS_OFFSET

const vector SCR_NameTagRulesetBase.HEAD_LOS_OFFSET = "0 0.05 0"
static

◆ m_aCandidateTags

ref array<ref SCR_NameTagData> SCR_NameTagRulesetBase.m_aCandidateTags = {}
protected

◆ m_aNameTags

ref array<ref SCR_NameTagData> SCR_NameTagRulesetBase.m_aNameTags = {}
protected

◆ m_bCancelFadeOnNewFocus

bool SCR_NameTagRulesetBase.m_bCancelFadeOnNewFocus
protected

◆ m_bTraceForLOS

bool SCR_NameTagRulesetBase.m_bTraceForLOS
protected

◆ m_ClosestAngleTag

SCR_NameTagData SCR_NameTagRulesetBase.m_ClosestAngleTag
protected

◆ m_CurrentPlayerTag

SCR_NameTagData SCR_NameTagRulesetBase.m_CurrentPlayerTag

◆ m_ExpandedTag

SCR_NameTagData SCR_NameTagRulesetBase.m_ExpandedTag
protected

◆ m_fDeadEntitiesCleanup

float SCR_NameTagRulesetBase.m_fDeadEntitiesCleanup

◆ m_fFocusPrioAngle

float SCR_NameTagRulesetBase.m_fFocusPrioAngle
protected

◆ m_fLOSFadeDelay

float SCR_NameTagRulesetBase.m_fLOSFadeDelay
protected

◆ m_fTagFadeTime

float SCR_NameTagRulesetBase.m_fTagFadeTime

◆ m_fTagFocusDelay

float SCR_NameTagRulesetBase.m_fTagFocusDelay
protected

◆ m_fTimeElapsed

float SCR_NameTagRulesetBase.m_fTimeElapsed = 0
protected

◆ m_fTimeFade

float SCR_NameTagRulesetBase.m_fTimeFade = 0
protected

◆ m_iIndexLOS

int SCR_NameTagRulesetBase.m_iIndexLOS = 0
protected

◆ m_iMaxAngle

int SCR_NameTagRulesetBase.m_iMaxAngle
protected

◆ m_iRefResolutionX

int SCR_NameTagRulesetBase.m_iRefResolutionX
protected

◆ m_iRefResolutionY

int SCR_NameTagRulesetBase.m_iRefResolutionY
protected

◆ m_NTDisplay

SCR_NameTagDisplay SCR_NameTagRulesetBase.m_NTDisplay
protected

◆ m_PIPSightsComp

SCR_2DPIPSightsComponent SCR_NameTagRulesetBase.m_PIPSightsComp
protected

◆ m_PrimaryTag

SCR_NameTagData SCR_NameTagRulesetBase.m_PrimaryTag
protected

◆ m_Workspace

WorkspaceWidget SCR_NameTagRulesetBase.m_Workspace
protected

◆ m_World

BaseWorld SCR_NameTagRulesetBase.m_World
protected

◆ m_ZoneCfg

SCR_NameTagConfig SCR_NameTagRulesetBase.m_ZoneCfg
protected

◆ NEAR_TAG_ANGLE

const int SCR_NameTagRulesetBase.NEAR_TAG_ANGLE = 3
static

◆ POS_TRANSITION_MULT

const float SCR_NameTagRulesetBase.POS_TRANSITION_MULT = 2
static

◆ POSITION_UPDATE

const int SCR_NameTagRulesetBase.POSITION_UPDATE = 0.1
static

◆ SECONDARY_FLAGS

const int SCR_NameTagRulesetBase.SECONDARY_FLAGS = ENameTagEntityState.VON
static

◆ VERT_ANGLE_ADJUST

const float SCR_NameTagRulesetBase.VERT_ANGLE_ADJUST = 0.3
static

◆ VON_STOP_TIME

const float SCR_NameTagRulesetBase.VON_STOP_TIME = 1
static

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