Arma Reforger Explorer 1.7.0.54
Arma Reforger Code Explorer by Zeroy - Thanks to MisterOutofTime
Loading...
Searching...
No Matches
SCR_BaseEditableEntityFilter Class Reference
Inheritance diagram for SCR_BaseEditableEntityFilter:
SCR_CampaignBuildingEditableEntityFilter SCR_CompatibleSlotEditableEntityFilter SCR_ControlModeEditableEntityFilter SCR_CurrentLayerEditableEntityFilter SCR_DestroyedEditableEntityFilter SCR_DummyEditableEntityFilter SCR_EditedEditableEntityFilter SCR_EntityTypesEditableEntityFilter SCR_FocusedEditableEntityFilter SCR_FriendlyEditableEntityFilter SCR_HasFactionEditableEntityFilter SCR_HighlightedEditableEntityFilter SCR_HoverEditableEntityFilter SCR_LayerEditableEntityFilter SCR_PingedEditableEntityFilter SCR_PlayerDelegateEditableEntityFilter SCR_PlayerEditableEntityFilter SCR_PreviewEditableEntityFilter SCR_RenderedEditableEntityFilter SCR_SelectedEditableEntityFilter SCR_UnlockedEditableEntityFilter SCR_VisibleEditableEntityFilter

Protected Member Functions

void InitVariables (SCR_EntitiesManagerEditorComponent manager, SCR_BaseEditableEntityFilter predecessor)
EEditableEntityState GetState ()
string GetStateName ()
EEditableEntityState GetPredecessorState ()
SCR_BaseEditableEntityFilter GetPredecessor ()
EEditableEntityFilterAutoAdd GetAutoAdd ()
int GetEntities (out set< SCR_EditableEntityComponent > entities, bool includeChildren=false, bool evaluate=true)
int GetEntitiesCount ()
bool IsEmpty ()
SCR_EditableEntityComponent GetFirstEntity ()
bool Contains (SCR_EditableEntityComponent entity)
ScriptInvokerBase< SCR_BaseEditableEntityFilter_OnChangeGetOnChanged ()
int GetEntitiesPointer (out set< SCR_EditableEntityComponent > entities)
SCR_EditableEntityComponent GetParentBelowCurrentLayer (SCR_EditableEntityComponent entity)
sealed SCR_EntitiesManagerEditorComponent GetManager ()
sealed SCR_EditableEntityCore GetCore ()
void InitEntities ()
void OnChanged (set< SCR_EditableEntityComponent > entitiesInsert, set< SCR_EditableEntityComponent > entitiesRemove)
void OnChanged ()
sealed void InsertChildren (out set< SCR_EditableEntityComponent > entities)
sealed bool AddToArray (SCR_EditableEntityComponent entity, out bool isChange, bool returnWhenExists=false)
sealed bool RemoveFromArray (SCR_EditableEntityComponent entity, out bool isChange)
void Log ()
void OnFrameBase (float timeSlice)
void OnActivateBase ()
void OnDeactivateBase ()
Array Manipulation Functions

Functions to add or remove entities to the cached array.

bool Add (SCR_EditableEntityComponent entityInsert, bool onlyDirect=false)
bool Add (notnull set< SCR_EditableEntityComponent > entitiesInsert, bool onlyDirect=false)
bool Remove (SCR_EditableEntityComponent entityRemove, bool onlyDirect=false)
bool Remove (notnull set< SCR_EditableEntityComponent > entitiesRemove, bool onlyDirect=false)
bool Toggle (SCR_EditableEntityComponent entity, bool onlyDirect=false)
bool Toggle (notnull set< SCR_EditableEntityComponent > entities, bool onlyDirect=false)
bool Replace (SCR_EditableEntityComponent entityInsert, bool onlyDirect=false, bool keepExisting=false)
bool Replace (set< SCR_EditableEntityComponent > entitiesInsert, bool onlyDirect=false, bool keepExisting=false)
bool Set (SCR_EditableEntityComponent entityInsert, SCR_EditableEntityComponent entityRemove, bool onlyDirect=false)
bool Set (set< SCR_EditableEntityComponent > entitiesInsert, set< SCR_EditableEntityComponent > entitiesRemove, bool onlyDirect=false)
bool SetFromPredecessor ()
bool Validate (SCR_EditableEntityComponent entity)
bool Clear ()
bool Copy (SCR_BaseEditableEntityFilter filter, bool onlyDirect=false)
Override Functions

Functions to be overridden by child classes (all of them local to the editor owner).

bool CanAdd (SCR_EditableEntityComponent entity)
void EOnEditorActivate ()
 When the editor is opened (before cached array is intialized).
void EOnEditorDeactivate ()
 When the editor is closed (after cached array is destroyed).
void EOnEditorFrame (float timeSlice)
 Every frame while the editor is opened.

Static Protected Member Functions

static SCR_BaseEditableEntityFilter GetInstance (EEditableEntityState state, bool showError=false)
static SCR_EditableEntityComponent GetFirstEntity (EEditableEntityState state)
static int GetEnititiesStatic (out set< SCR_EditableEntityComponent > entities, EEditableEntityState state, bool includeChildren=false, bool evaluate=true)

Protected Attributes

EEditableEntityState m_State
EEditableEntityState m_PredecessorState
EEditableEntityFilterAutoAdd m_bAutoAdd
bool m_bSkipIgnored
bool m_bOnlyInteractive
SCR_EditableEntityCore m_Core
SCR_EntitiesManagerEditorComponent m_Manager
SCR_BaseEditableEntityFilter m_Predecessor
ref set< SCR_EditableEntityComponentm_Entities
int m_iEntitiesCount
string m_sStateName = "N/A"
ref ScriptInvokerBase< SCR_BaseEditableEntityFilter_OnChangem_OnChange = new ScriptInvokerBase<SCR_BaseEditableEntityFilter_OnChange>()

Detailed Description

Base class for a manager of editable entities of specific state.

Attached on SCR_EntitiesManagerEditorComponent.

Examples
F:/Games/AReforger/scripts/Game/Editor/Containers/EditableEntityFilters/SCR_RenderedEditableEntityFilter.c.

Definition at line 13 of file SCR_BaseEditableEntityFilter.c.

Member Function Documentation

◆ Add() [1/2]

bool SCR_BaseEditableEntityFilter::Add ( notnull set< SCR_EditableEntityComponent > entitiesInsert,
bool onlyDirect = false )
inlineprotected

Register multiple entities.

Parameters
entitiesInsertEntities to be registered
onlyDirectTrue to also include children of all affected entities
Returns
True if cached array changed

Definition at line 314 of file SCR_BaseEditableEntityFilter.c.

◆ Add() [2/2]

bool SCR_BaseEditableEntityFilter::Add ( SCR_EditableEntityComponent entityInsert,
bool onlyDirect = false )
inlineprotected

Register given entity.

Parameters
entityInsertEntity to be registered
onlyDirectTrue to also include children of all affected entities
Returns
True if cached array changed
Examples
F:/Games/AReforger/scripts/Game/Editor/Containers/EditableEntityFilters/SCR_RenderedEditableEntityFilter.c.

Definition at line 297 of file SCR_BaseEditableEntityFilter.c.

◆ AddToArray()

sealed bool SCR_BaseEditableEntityFilter::AddToArray ( SCR_EditableEntityComponent entity,
out bool isChange,
bool returnWhenExists = false )
inlineprotected

Definition at line 679 of file SCR_BaseEditableEntityFilter.c.

◆ CanAdd()

bool SCR_BaseEditableEntityFilter::CanAdd ( SCR_EditableEntityComponent entity)
inlineprotected

Check if the entity meets condition for this entity state.

Parameters
entityEditable entity
Returns
True if the condition is met

Definition at line 789 of file SCR_BaseEditableEntityFilter.c.

◆ Clear()

bool SCR_BaseEditableEntityFilter::Clear ( )
inlineprotected

Clear cached array.

Returns
True if the array changed

Definition at line 642 of file SCR_BaseEditableEntityFilter.c.

◆ Contains()

bool SCR_BaseEditableEntityFilter::Contains ( SCR_EditableEntityComponent entity)
inlineprotected

Check if given entity is among cached entities.

Returns
True if registered

Definition at line 211 of file SCR_BaseEditableEntityFilter.c.

◆ Copy()

bool SCR_BaseEditableEntityFilter::Copy ( SCR_BaseEditableEntityFilter filter,
bool onlyDirect = false )
inlineprotected

Copy the list of registered entities from another filter.

Parameters
filterFilter from which the list of entities will be copied
onlyDirectTrue to also include children of all affected entities
Returns
True if cached array changed

Definition at line 656 of file SCR_BaseEditableEntityFilter.c.

◆ EOnEditorActivate()

void SCR_BaseEditableEntityFilter::EOnEditorActivate ( )
protected

When the editor is opened (before cached array is intialized).

◆ EOnEditorDeactivate()

void SCR_BaseEditableEntityFilter::EOnEditorDeactivate ( )
protected

When the editor is closed (after cached array is destroyed).

◆ EOnEditorFrame()

void SCR_BaseEditableEntityFilter::EOnEditorFrame ( float timeSlice)
protected

Every frame while the editor is opened.

◆ GetAutoAdd()

EEditableEntityFilterAutoAdd SCR_BaseEditableEntityFilter::GetAutoAdd ( )
inlineprotected

Check if entities can be registered automatically based on predecessor component.

Returns
True if automatic adding is enabled

Definition at line 127 of file SCR_BaseEditableEntityFilter.c.

◆ GetCore()

sealed SCR_EditableEntityCore SCR_BaseEditableEntityFilter::GetCore ( )
inlineprotected

Definition at line 248 of file SCR_BaseEditableEntityFilter.c.

◆ GetEnititiesStatic()

int SCR_BaseEditableEntityFilter::GetEnititiesStatic ( out set< SCR_EditableEntityComponent > entities,
EEditableEntityState state,
bool includeChildren = false,
bool evaluate = true )
inlinestaticprotected

Get first entity of given filter type.

Returns
Editable entity

Definition at line 83 of file SCR_BaseEditableEntityFilter.c.

◆ GetEntities()

int SCR_BaseEditableEntityFilter::GetEntities ( out set< SCR_EditableEntityComponent > entities,
bool includeChildren = false,
bool evaluate = true )
inlineprotected

Get entities managed by this filter. When the editor is opened, cached array is returned. When the editor is closed, the array is re-calculated based on conditions of this component and all its predecessors. Use sparingly!

Parameters
[out]entitiesArray to be filled with entities
includeChildrenTrue to also include all children of filtered entities (even when they don't meet filter's condition)
Returns
Number of filtered entities
Examples
F:/Games/AReforger/scripts/Game/Editor/Containers/EditableEntityFilters/SCR_RenderedEditableEntityFilter.c.

Definition at line 139 of file SCR_BaseEditableEntityFilter.c.

◆ GetEntitiesCount()

int SCR_BaseEditableEntityFilter::GetEntitiesCount ( )
inlineprotected

Get number of cached entities.

Returns
Entity count

Definition at line 181 of file SCR_BaseEditableEntityFilter.c.

◆ GetEntitiesPointer()

int SCR_BaseEditableEntityFilter::GetEntitiesPointer ( out set< SCR_EditableEntityComponent > entities)
inlineprotected

Definition at line 225 of file SCR_BaseEditableEntityFilter.c.

◆ GetFirstEntity() [1/2]

SCR_EditableEntityComponent SCR_BaseEditableEntityFilter::GetFirstEntity ( )
inlineprotected

Get the first cached entity.

Returns
Entity. When no entity is registered or no array is cached, null is returned.

Definition at line 201 of file SCR_BaseEditableEntityFilter.c.

◆ GetFirstEntity() [2/2]

SCR_EditableEntityComponent SCR_BaseEditableEntityFilter::GetFirstEntity ( EEditableEntityState state)
inlinestaticprotected

Get first entity of given filter type.

Returns
Editable entity

Definition at line 71 of file SCR_BaseEditableEntityFilter.c.

◆ GetInstance()

SCR_BaseEditableEntityFilter SCR_BaseEditableEntityFilter::GetInstance ( EEditableEntityState state,
bool showError = false )
inlinestaticprotected

Get current filter instance.

Parameters
Desiredentity state
showErrorTrue to log a warning message when the filter was not found
Returns
Entity state

Definition at line 54 of file SCR_BaseEditableEntityFilter.c.

◆ GetManager()

sealed SCR_EntitiesManagerEditorComponent SCR_BaseEditableEntityFilter::GetManager ( )
inlineprotected

Definition at line 243 of file SCR_BaseEditableEntityFilter.c.

◆ GetOnChanged()

ScriptInvokerBase< SCR_BaseEditableEntityFilter_OnChange > SCR_BaseEditableEntityFilter::GetOnChanged ( )
inlineprotected

Get script invoker which is triggered every time some entities are added or removed.

Returns
Script invoker

Definition at line 220 of file SCR_BaseEditableEntityFilter.c.

◆ GetParentBelowCurrentLayer()

SCR_EditableEntityComponent SCR_BaseEditableEntityFilter::GetParentBelowCurrentLayer ( SCR_EditableEntityComponent entity)
inlineprotected

Definition at line 231 of file SCR_BaseEditableEntityFilter.c.

◆ GetPredecessor()

SCR_BaseEditableEntityFilter SCR_BaseEditableEntityFilter::GetPredecessor ( )
inlineprotected

Get component which preceeds this one.

Returns
Entity manager component
Examples
F:/Games/AReforger/scripts/Game/Editor/Containers/EditableEntityFilters/SCR_RenderedEditableEntityFilter.c.

Definition at line 119 of file SCR_BaseEditableEntityFilter.c.

◆ GetPredecessorState()

EEditableEntityState SCR_BaseEditableEntityFilter::GetPredecessorState ( )
inlineprotected

Get entity state of the component which preceeds this one.

Returns
Entity state

Definition at line 111 of file SCR_BaseEditableEntityFilter.c.

◆ GetState()

EEditableEntityState SCR_BaseEditableEntityFilter::GetState ( )
inlineprotected

Get entity state this component is managing.

Returns
Entity state

Definition at line 95 of file SCR_BaseEditableEntityFilter.c.

◆ GetStateName()

string SCR_BaseEditableEntityFilter::GetStateName ( )
inlineprotected

Get name of the entity state this component is managing.

Returns
Entity state name

Definition at line 103 of file SCR_BaseEditableEntityFilter.c.

◆ InitEntities()

void SCR_BaseEditableEntityFilter::InitEntities ( )
inlineprotected

Definition at line 253 of file SCR_BaseEditableEntityFilter.c.

◆ InitVariables()

void SCR_BaseEditableEntityFilter::InitVariables ( SCR_EntitiesManagerEditorComponent manager,
SCR_BaseEditableEntityFilter predecessor )
inlineprotected

Definition at line 42 of file SCR_BaseEditableEntityFilter.c.

◆ InsertChildren()

sealed void SCR_BaseEditableEntityFilter::InsertChildren ( out set< SCR_EditableEntityComponent > entities)
inlineprotected

Definition at line 665 of file SCR_BaseEditableEntityFilter.c.

◆ IsEmpty()

bool SCR_BaseEditableEntityFilter::IsEmpty ( )
inlineprotected

Check if the filter contains any entities.

Returns
True when empty

Definition at line 192 of file SCR_BaseEditableEntityFilter.c.

◆ Log()

void SCR_BaseEditableEntityFilter::Log ( )
inlineprotected

Print all cached entities to the log.

Definition at line 734 of file SCR_BaseEditableEntityFilter.c.

◆ OnActivateBase()

void SCR_BaseEditableEntityFilter::OnActivateBase ( )
inlineprotected

Definition at line 759 of file SCR_BaseEditableEntityFilter.c.

◆ OnChanged() [1/2]

void SCR_BaseEditableEntityFilter::OnChanged ( )
inlineprotected

Definition at line 281 of file SCR_BaseEditableEntityFilter.c.

◆ OnChanged() [2/2]

void SCR_BaseEditableEntityFilter::OnChanged ( set< SCR_EditableEntityComponent > entitiesInsert,
set< SCR_EditableEntityComponent > entitiesRemove )
inlineprotected

Definition at line 275 of file SCR_BaseEditableEntityFilter.c.

◆ OnDeactivateBase()

void SCR_BaseEditableEntityFilter::OnDeactivateBase ( )
inlineprotected

Definition at line 768 of file SCR_BaseEditableEntityFilter.c.

◆ OnFrameBase()

void SCR_BaseEditableEntityFilter::OnFrameBase ( float timeSlice)
inlineprotected

Definition at line 754 of file SCR_BaseEditableEntityFilter.c.

◆ Remove() [1/2]

bool SCR_BaseEditableEntityFilter::Remove ( notnull set< SCR_EditableEntityComponent > entitiesRemove,
bool onlyDirect = false )
inlineprotected

Unregister multiple entities.

Parameters
entitiesRemoveEntities to be unregistered
onlyDirectTrue to also include children of all affected entities
Returns
True if cached array changed

Definition at line 359 of file SCR_BaseEditableEntityFilter.c.

◆ Remove() [2/2]

bool SCR_BaseEditableEntityFilter::Remove ( SCR_EditableEntityComponent entityRemove,
bool onlyDirect = false )
inlineprotected

Unregister given entity.

Parameters
entityRemoveEntity to be unregistered
onlyDirectTrue to also include children of all affected entities
Returns
True if cached array changed
Examples
F:/Games/AReforger/scripts/Game/Editor/Containers/EditableEntityFilters/SCR_RenderedEditableEntityFilter.c.

Definition at line 342 of file SCR_BaseEditableEntityFilter.c.

◆ RemoveFromArray()

sealed bool SCR_BaseEditableEntityFilter::RemoveFromArray ( SCR_EditableEntityComponent entity,
out bool isChange )
inlineprotected

Definition at line 710 of file SCR_BaseEditableEntityFilter.c.

◆ Replace() [1/2]

bool SCR_BaseEditableEntityFilter::Replace ( SCR_EditableEntityComponent entityInsert,
bool onlyDirect = false,
bool keepExisting = false )
inlineprotected

Replace cached array with given entity. ALl currently registered entities will be removed.

Parameters
entityInsertEntity to be registered
onlyDirectTrue to also include children of all affected entities \para, keepExisting True to keep all already listed entities, provided they still pass filter condition
Returns
True if cached array changed

Definition at line 425 of file SCR_BaseEditableEntityFilter.c.

◆ Replace() [2/2]

bool SCR_BaseEditableEntityFilter::Replace ( set< SCR_EditableEntityComponent > entitiesInsert,
bool onlyDirect = false,
bool keepExisting = false )
inlineprotected

Replace cached array with entities. ALl currently registered entities will be removed.

Parameters
entitiesInsertEntities to be registered
onlyDirectTrue to also include children of all affected entities \para, keepExisting True to keep all already listed entities, provided they still pass filter condition
Returns
True if cached array changed

Definition at line 447 of file SCR_BaseEditableEntityFilter.c.

◆ Set() [1/2]

bool SCR_BaseEditableEntityFilter::Set ( SCR_EditableEntityComponent entityInsert,
SCR_EditableEntityComponent entityRemove,
bool onlyDirect = false )
inlineprotected

Register and unregister entities in one go.

Parameters
entityInsertEntity to be registered
entityRemoveEntity to be unregistered
onlyDirectTrue to also include children of all affected entities
Returns
True if cached array changed

Definition at line 517 of file SCR_BaseEditableEntityFilter.c.

◆ Set() [2/2]

bool SCR_BaseEditableEntityFilter::Set ( set< SCR_EditableEntityComponent > entitiesInsert,
set< SCR_EditableEntityComponent > entitiesRemove,
bool onlyDirect = false )
inlineprotected

Register and unregister entities in one go.

Parameters
entitiesInsertEntities to be registered
entitiesRemoveEntities to be unregistered
onlyDirectTrue to also include children of all affected entities
Returns
True if cached array changed

Definition at line 544 of file SCR_BaseEditableEntityFilter.c.

◆ SetFromPredecessor()

bool SCR_BaseEditableEntityFilter::SetFromPredecessor ( )
inlineprotected

Fill the list from the predecessor.

Returns
True if cached array changed

Definition at line 598 of file SCR_BaseEditableEntityFilter.c.

◆ Toggle() [1/2]

bool SCR_BaseEditableEntityFilter::Toggle ( notnull set< SCR_EditableEntityComponent > entities,
bool onlyDirect = false )
inlineprotected

Toggle state of given entities, i.e., register them if they're unregistered and unregister them if they're registered.

Parameters
entitiesAffected entities
onlyDirectTrue to also include children of all affected entities
Returns
True if cached array changed

Definition at line 400 of file SCR_BaseEditableEntityFilter.c.

◆ Toggle() [2/2]

bool SCR_BaseEditableEntityFilter::Toggle ( SCR_EditableEntityComponent entity,
bool onlyDirect = false )
inlineprotected

Toggle state of given entity, i.e., register it if it's unregistered and unregister it if it's registered.

Parameters
entityAffected entity
onlyDirectTrue to also include children of all affected entities
Returns
True if cached array changed

Definition at line 386 of file SCR_BaseEditableEntityFilter.c.

◆ Validate()

bool SCR_BaseEditableEntityFilter::Validate ( SCR_EditableEntityComponent entity)
inlineprotected

If the entity is added to the filter, check if its condition is still valid. If not, remove the entity.

Parameters
entityQueried entity
Returns
True if the array changed

Definition at line 616 of file SCR_BaseEditableEntityFilter.c.

Member Data Documentation

◆ m_bAutoAdd

EEditableEntityFilterAutoAdd SCR_BaseEditableEntityFilter::m_bAutoAdd
protected

Definition at line 22 of file SCR_BaseEditableEntityFilter.c.

◆ m_bOnlyInteractive

bool SCR_BaseEditableEntityFilter::m_bOnlyInteractive
protected

Definition at line 28 of file SCR_BaseEditableEntityFilter.c.

◆ m_bSkipIgnored

bool SCR_BaseEditableEntityFilter::m_bSkipIgnored
protected

Definition at line 25 of file SCR_BaseEditableEntityFilter.c.

◆ m_Core

SCR_EditableEntityCore SCR_BaseEditableEntityFilter::m_Core
protected

Definition at line 30 of file SCR_BaseEditableEntityFilter.c.

◆ m_Entities

ref set<SCR_EditableEntityComponent> SCR_BaseEditableEntityFilter::m_Entities
protected

Definition at line 33 of file SCR_BaseEditableEntityFilter.c.

◆ m_iEntitiesCount

int SCR_BaseEditableEntityFilter::m_iEntitiesCount
protected

Definition at line 34 of file SCR_BaseEditableEntityFilter.c.

◆ m_Manager

SCR_EntitiesManagerEditorComponent SCR_BaseEditableEntityFilter::m_Manager
protected

Definition at line 31 of file SCR_BaseEditableEntityFilter.c.

◆ m_OnChange

ref ScriptInvokerBase<SCR_BaseEditableEntityFilter_OnChange> SCR_BaseEditableEntityFilter::m_OnChange = new ScriptInvokerBase<SCR_BaseEditableEntityFilter_OnChange>()
protected

Definition at line 36 of file SCR_BaseEditableEntityFilter.c.

◆ m_Predecessor

SCR_BaseEditableEntityFilter SCR_BaseEditableEntityFilter::m_Predecessor
protected

Definition at line 32 of file SCR_BaseEditableEntityFilter.c.

◆ m_PredecessorState

EEditableEntityState SCR_BaseEditableEntityFilter::m_PredecessorState
protected

Definition at line 19 of file SCR_BaseEditableEntityFilter.c.

◆ m_sStateName

string SCR_BaseEditableEntityFilter::m_sStateName = "N/A"
protected

Definition at line 35 of file SCR_BaseEditableEntityFilter.c.

◆ m_State

EEditableEntityState SCR_BaseEditableEntityFilter::m_State
protected

Definition at line 16 of file SCR_BaseEditableEntityFilter.c.


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