Arma Reforger Script API
Loading...
Searching...
No Matches
SCR_ObjectBrushTool Interface Reference
Inheritance diagram for SCR_ObjectBrushTool:

Public Member Functions

override void OnMousePressEvent (float x, float y, WETMouseButtonFlag buttons)
 Event triggering on Mouse click - see WorldEditorTool.OnMousePressEvent() Filtered to work only for left-click here Creates/Refreshes the Obstacles Detector and deals with Click / Alt+Click.
 
override void OnMouseReleaseEvent (float x, float y, WETMouseButtonFlag buttons)
 Event triggering on Mouse click release - see WorldEditorTool.OnMouseReleaseEvent() Filtered to work only for left-click here Clears "held mouse click" flag and stops Edit action.
 
override void OnMouseMoveEvent (float x, float y)
 Event triggering on Mouse movement - see WorldEditorTool.OnMouseMoveEvent() Create/Delete entities and draw Alt+Click additional shapes.
 
override void OnWheelEvent (int delta)
 Event triggering on Mouse scroll wheel - see WorldEditorTool.OnWheelEvent() Used to set Brush's radius (Ctrl) or strength (Shift)
 
override void OnKeyPressEvent (KeyCode key, bool isAutoRepeat)
 Event triggering on keyboard (normal) key press - see WorldEditorTool.OnKeyPressEvent() Used to switch to Delete mode (Space) or cancel Alt+Click (Esc)
 
override void OnKeyReleaseEvent (KeyCode key, bool isAutoRepeat)
 Event triggering on keyboard (normal) key release - see WorldEditorTool.OnKeyReleaseEvent() Used to switch from Delete mode (Space)
 
override void OnDeActivate ()
 Triggered when another WE Tool is selected - see WorldEditorTool.OnDeActivate() Delete Brush's shape and resets Obstacle Detector's Areas flag.
 
override void OnActivate ()
 Triggered when this WE Tool is selected - see WorldEditorTool.OnActivate() Sets up the grid size.
 

Protected Member Functions

void CreateObjects (float mouseX, float mouseY, vector position)
 Create objects around the provided position, otherwise x/y screen to terrain pos World Editor must be doing an Edit action.
 
void DeleteObjects (vector position)
 Delete all Brush-created entities around the provided position.
 
void DeleteEntities ()
 Delete all Brush-created entities at once.
 
SCR_ObjectBrushObjectBase GetRandomBrushObjectData ()
 Pick an object to create's information, from probabilities/weight (a weight of zero is ignored) It is assumed m_ObjectsConfig.m_aObjectArray is not null nor empty as this is checked in CreateObjects.
 
float AdjustValueUsingScrollwheel (float delta, float currentValue, float min, float max, float step)
 Helps getting proper new value for a property.
 
void CreateAndInitialiseObstacleDetector ()
 Creates an SCR_ObstacleDetector if it is null or invalid Refreshes that Obstacle Detector with current UI settings (Avoid Objects, etc)
 

Protected Attributes

float m_fRadius
 
float m_fStrength
 
ref Curve m_ScaleFallOffCurve
 
bool m_bDensityFallOffEnabled
 
ref Curve m_DensityFallOffCurve
 
int m_iDensityFallOffSubareaCount
 
bool m_bOverrideBrush
 
ref SCR_ObjectBrushArrayConfig m_ObjectsConfig
 
bool m_bAvoidObjects
 
float m_fAvoidObjectsDetectionRadius
 
float m_fAvoidObjectsDetectionHeight
 
bool m_bAvoidRoads
 
bool m_bAvoidRivers
 
bool m_bAvoidPowerLines
 
bool m_bAvoidLand
 
bool m_bAvoidOcean
 
bool m_bAvoidForests
 
bool m_bAvoidLakes
 
int m_iAreaDetectionRadius
 
ref SCR_ObstacleDetector m_ObstacleDetector
 
ref map< ref SCR_ObjectBrushObjectBase, ref EntityID > m_mCreatedObjects = new map<ref SCR_ObjectBrushObjectBase, ref EntityID>()
 
ref map< ref SCR_ObjectBrushObjectBase, ref EntityID > m_mActiveBrushObjects = new map<ref SCR_ObjectBrushObjectBase, ref EntityID>()
 
bool m_bIsMouseHeldDown
 
ref RandomGenerator m_RandomGenerator
 
ref ForestGeneratorGrid m_Grid = new ForestGeneratorGrid(10)
 
ref Shape m_BrushShape
 
ref array< ref Shape > m_aLineShapes = {}
 
bool m_bDeleteMode
 
bool m_bLineMode
 
bool m_bAreasDetectedByWorld
 
bool m_bManageEditAction
 
vector m_vFirstLinePoint
 
vector m_vSecondLinePoint
 
vector m_vLastMousePosition
 
vector m_vLastObjectCreationCentrePosition
 
int m_iBrushShapeColor = ARGB(255, 0, 255, 0)
 

Static Protected Attributes

static const float HECTARE_CONVERSION_FACTOR = 0.0001
 
static const float MAX_SCALE_THRESHOLD = 1000
 
static const float RADIUS_STEP = 1
 
static const float RADIUS_MAX = 100
 
static const float RADIUS_MIN = 0.1
 
static const float STRENGTH_STEP = 1
 
static const float STRENGTH_MAX = 500
 
static const float STRENGTH_MIN = 0
 
static const float STRENGTH_RELATIVE_RADIUS_DISTANCE_TO_CREATE = 1 / 3
 

Member Function Documentation

◆ AdjustValueUsingScrollwheel()

float SCR_ObjectBrushTool.AdjustValueUsingScrollwheel ( float delta,
float currentValue,
float min,
float max,
float step )
protected

Helps getting proper new value for a property.

Parameters
[in]deltathe scrollwheel value (obtained in OnWheelEvent) that is a multiple of 120
[in]currentValuethe value from which to start
[in]minthe min value
[in]maxthe max value
[in]stepthe step by which delta's converted value will be multiplied
Returns
the min-max clamped new value

◆ CreateAndInitialiseObstacleDetector()

void SCR_ObjectBrushTool.CreateAndInitialiseObstacleDetector ( )
protected

Creates an SCR_ObstacleDetector if it is null or invalid Refreshes that Obstacle Detector with current UI settings (Avoid Objects, etc)

◆ CreateObjects()

void SCR_ObjectBrushTool.CreateObjects ( float mouseX,
float mouseY,
vector position )
protected

Create objects around the provided position, otherwise x/y screen to terrain pos World Editor must be doing an Edit action.

Parameters
[in]mouseX
[in]mouseY
[in]position

◆ DeleteEntities()

void SCR_ObjectBrushTool.DeleteEntities ( )
protected

Delete all Brush-created entities at once.

◆ DeleteObjects()

void SCR_ObjectBrushTool.DeleteObjects ( vector position)
protected

Delete all Brush-created entities around the provided position.

Parameters
[in]position

◆ GetRandomBrushObjectData()

SCR_ObjectBrushObjectBase SCR_ObjectBrushTool.GetRandomBrushObjectData ( )
protected

Pick an object to create's information, from probabilities/weight (a weight of zero is ignored) It is assumed m_ObjectsConfig.m_aObjectArray is not null nor empty as this is checked in CreateObjects.

Returns
a selection from m_ObjectsConfig.m_aObjectArray - CAN return null if weights are zero

◆ OnActivate()

override void SCR_ObjectBrushTool.OnActivate ( )

Triggered when this WE Tool is selected - see WorldEditorTool.OnActivate() Sets up the grid size.

◆ OnDeActivate()

override void SCR_ObjectBrushTool.OnDeActivate ( )

Triggered when another WE Tool is selected - see WorldEditorTool.OnDeActivate() Delete Brush's shape and resets Obstacle Detector's Areas flag.

◆ OnKeyPressEvent()

override void SCR_ObjectBrushTool.OnKeyPressEvent ( KeyCode key,
bool isAutoRepeat )

Event triggering on keyboard (normal) key press - see WorldEditorTool.OnKeyPressEvent() Used to switch to Delete mode (Space) or cancel Alt+Click (Esc)

Parameters
[in]key
[in]isAutoRepeat

◆ OnKeyReleaseEvent()

override void SCR_ObjectBrushTool.OnKeyReleaseEvent ( KeyCode key,
bool isAutoRepeat )

Event triggering on keyboard (normal) key release - see WorldEditorTool.OnKeyReleaseEvent() Used to switch from Delete mode (Space)

Parameters
[in]key
[in]isAutoRepeat

◆ OnMouseMoveEvent()

override void SCR_ObjectBrushTool.OnMouseMoveEvent ( float x,
float y )

Event triggering on Mouse movement - see WorldEditorTool.OnMouseMoveEvent() Create/Delete entities and draw Alt+Click additional shapes.

Parameters
[in]x
[in]y
[in]buttons

◆ OnMousePressEvent()

override void SCR_ObjectBrushTool.OnMousePressEvent ( float x,
float y,
WETMouseButtonFlag buttons )

Event triggering on Mouse click - see WorldEditorTool.OnMousePressEvent() Filtered to work only for left-click here Creates/Refreshes the Obstacles Detector and deals with Click / Alt+Click.

Parameters
[in]x
[in]y
[in]buttons

◆ OnMouseReleaseEvent()

override void SCR_ObjectBrushTool.OnMouseReleaseEvent ( float x,
float y,
WETMouseButtonFlag buttons )

Event triggering on Mouse click release - see WorldEditorTool.OnMouseReleaseEvent() Filtered to work only for left-click here Clears "held mouse click" flag and stops Edit action.

Parameters
[in]x
[in]y
[in]buttons

◆ OnWheelEvent()

override void SCR_ObjectBrushTool.OnWheelEvent ( int delta)

Event triggering on Mouse scroll wheel - see WorldEditorTool.OnWheelEvent() Used to set Brush's radius (Ctrl) or strength (Shift)

Parameters
[in]deltathe scroll wheel difference value

Member Data Documentation

◆ HECTARE_CONVERSION_FACTOR

const float SCR_ObjectBrushTool.HECTARE_CONVERSION_FACTOR = 0.0001
staticprotected

◆ m_aLineShapes

ref array<ref Shape> SCR_ObjectBrushTool.m_aLineShapes = {}
protected

◆ m_bAreasDetectedByWorld

bool SCR_ObjectBrushTool.m_bAreasDetectedByWorld
protected

◆ m_bAvoidForests

bool SCR_ObjectBrushTool.m_bAvoidForests
protected

◆ m_bAvoidLakes

bool SCR_ObjectBrushTool.m_bAvoidLakes
protected

◆ m_bAvoidLand

bool SCR_ObjectBrushTool.m_bAvoidLand
protected

◆ m_bAvoidObjects

bool SCR_ObjectBrushTool.m_bAvoidObjects
protected

◆ m_bAvoidOcean

bool SCR_ObjectBrushTool.m_bAvoidOcean
protected

◆ m_bAvoidPowerLines

bool SCR_ObjectBrushTool.m_bAvoidPowerLines
protected

◆ m_bAvoidRivers

bool SCR_ObjectBrushTool.m_bAvoidRivers
protected

◆ m_bAvoidRoads

bool SCR_ObjectBrushTool.m_bAvoidRoads
protected

◆ m_bDeleteMode

bool SCR_ObjectBrushTool.m_bDeleteMode
protected

◆ m_bDensityFallOffEnabled

bool SCR_ObjectBrushTool.m_bDensityFallOffEnabled
protected

◆ m_bIsMouseHeldDown

bool SCR_ObjectBrushTool.m_bIsMouseHeldDown
protected

◆ m_bLineMode

bool SCR_ObjectBrushTool.m_bLineMode
protected

◆ m_bManageEditAction

bool SCR_ObjectBrushTool.m_bManageEditAction
protected

◆ m_bOverrideBrush

bool SCR_ObjectBrushTool.m_bOverrideBrush
protected

◆ m_BrushShape

ref Shape SCR_ObjectBrushTool.m_BrushShape
protected

◆ m_DensityFallOffCurve

ref Curve SCR_ObjectBrushTool.m_DensityFallOffCurve
protected

◆ m_fAvoidObjectsDetectionHeight

float SCR_ObjectBrushTool.m_fAvoidObjectsDetectionHeight
protected

◆ m_fAvoidObjectsDetectionRadius

float SCR_ObjectBrushTool.m_fAvoidObjectsDetectionRadius
protected

◆ m_fRadius

float SCR_ObjectBrushTool.m_fRadius
protected

◆ m_fStrength

float SCR_ObjectBrushTool.m_fStrength
protected

◆ m_Grid

ref ForestGeneratorGrid SCR_ObjectBrushTool.m_Grid = new ForestGeneratorGrid(10)
protected

◆ m_iAreaDetectionRadius

int SCR_ObjectBrushTool.m_iAreaDetectionRadius
protected

◆ m_iBrushShapeColor

int SCR_ObjectBrushTool.m_iBrushShapeColor = ARGB(255, 0, 255, 0)
protected

◆ m_iDensityFallOffSubareaCount

int SCR_ObjectBrushTool.m_iDensityFallOffSubareaCount
protected

◆ m_mActiveBrushObjects

ref map<ref SCR_ObjectBrushObjectBase, ref EntityID> SCR_ObjectBrushTool.m_mActiveBrushObjects = new map<ref SCR_ObjectBrushObjectBase, ref EntityID>()
protected

◆ m_mCreatedObjects

ref map<ref SCR_ObjectBrushObjectBase, ref EntityID> SCR_ObjectBrushTool.m_mCreatedObjects = new map<ref SCR_ObjectBrushObjectBase, ref EntityID>()
protected

◆ m_ObjectsConfig

ref SCR_ObjectBrushArrayConfig SCR_ObjectBrushTool.m_ObjectsConfig
protected

◆ m_ObstacleDetector

ref SCR_ObstacleDetector SCR_ObjectBrushTool.m_ObstacleDetector
protected

◆ m_RandomGenerator

ref RandomGenerator SCR_ObjectBrushTool.m_RandomGenerator
protected

◆ m_ScaleFallOffCurve

ref Curve SCR_ObjectBrushTool.m_ScaleFallOffCurve
protected

◆ m_vFirstLinePoint

vector SCR_ObjectBrushTool.m_vFirstLinePoint
protected

◆ m_vLastMousePosition

vector SCR_ObjectBrushTool.m_vLastMousePosition
protected

◆ m_vLastObjectCreationCentrePosition

vector SCR_ObjectBrushTool.m_vLastObjectCreationCentrePosition
protected

◆ m_vSecondLinePoint

vector SCR_ObjectBrushTool.m_vSecondLinePoint
protected

◆ MAX_SCALE_THRESHOLD

const float SCR_ObjectBrushTool.MAX_SCALE_THRESHOLD = 1000
staticprotected

◆ RADIUS_MAX

const float SCR_ObjectBrushTool.RADIUS_MAX = 100
staticprotected

◆ RADIUS_MIN

const float SCR_ObjectBrushTool.RADIUS_MIN = 0.1
staticprotected

◆ RADIUS_STEP

const float SCR_ObjectBrushTool.RADIUS_STEP = 1
staticprotected

◆ STRENGTH_MAX

const float SCR_ObjectBrushTool.STRENGTH_MAX = 500
staticprotected

◆ STRENGTH_MIN

const float SCR_ObjectBrushTool.STRENGTH_MIN = 0
staticprotected

◆ STRENGTH_RELATIVE_RADIUS_DISTANCE_TO_CREATE

const float SCR_ObjectBrushTool.STRENGTH_RELATIVE_RADIUS_DISTANCE_TO_CREATE = 1 / 3
staticprotected

◆ STRENGTH_STEP

const float SCR_ObjectBrushTool.STRENGTH_STEP = 1
staticprotected

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