Arma Reforger Script API
Loading...
Searching...
No Matches
WallGeneratorEntity Interface Reference
Inheritance diagram for WallGeneratorEntity:
SCR_LineTerrainShaperGeneratorBaseEntity SCR_LineGeneratorBaseEntity SCR_GeneratorBaseEntity

Static Public Member Functions

static float MeasureEntity (ResourceName entityName, int measureAxis)
 

Public Attributes

bool m_bDebug
 

Protected Member Functions

void Generate ()
 
void GenerateInStraightLine (notnull array< vector > anchorPoints, float rotationOffset, int forwardAxis)
 
void GenerateClosestToShape (notnull array< vector > anchorPoints, float rotationOffset)
 
IEntitySource CreateWallEntity (WorldEditorAPI worldEditorAPI, BaseWorld world, ResourceName resourceName, inout vector startPos, vector relPosOffset, float prePadding, float postPadding, float dirOffset, int anchorLimit=-1)
 
IEntitySource PlacePrefab (bool generate, ResourceName name, out vector pos, vector dir, vector prevDir, float rotationAdjustment, bool isGeneratorVisible, float length, float prePadding, float postPadding, float offsetUp, bool alignNext, bool prepadNext, bool snapToGround=false, bool allowClipping=false, vector offsetRight=vector.Zero)
 
override bool _WB_OnKeyChanged (BaseContainer src, string key, BaseContainerList ownerContainers, IEntity parent)
 
override void OnShapeChangedInternal (IEntitySource shapeEntitySrc, ShapeEntity shapeEntity, array< vector > mins, array< vector > maxes)
 
- Protected Member Functions inherited from SCR_LineTerrainShaperGeneratorBaseEntity
override void OnShapeInitInternal (IEntitySource shapeEntitySrc, ShapeEntity shapeEntity)
 
override void OnShapeTransformInternal (IEntitySource shapeEntitySrc, ShapeEntity shapeEntity, array< vector > mins, array< vector > maxes)
 
void UpdateTerrainSimple (bool forceUpdate=false)
 wrapper method around UpdateTerrain that sets m_ShapeEntity up
 
void UpdateTerrain (notnull ShapeEntity shapeEntity, bool forceUpdate, notnull array< vector > updateMins, notnull array< vector > updateMaxes)
 
void SCR_LineTerrainShaperGeneratorBaseEntity (IEntitySource src, IEntity parent)
 
- Protected Member Functions inherited from SCR_LineGeneratorBaseEntity
void ResetShapeNextPointHelper ()
 
override void _WB_AfterWorldUpdate (float timeSlice)
 
override int _WB_GetAfterWorldUpdateSpecs (IEntitySource src)
 
- Protected Member Functions inherited from SCR_GeneratorBaseEntity
override void OnIntersectingShapeChangedXZInternal (IEntitySource shapeEntitySrc, IEntitySource other, array< vector > mins, array< vector > maxes)
 
void ResetGeneratorPosition (ShapeEntity shapeEntity=null)
 
void DeleteAllChildren ()
 Delete all children without distinction, using WorldEditorAPI.
 
array< vector > GetWorldAnchorPoints (notnull IEntitySource shapeEntitySrc)
 
array< vector > GetWorldTesselatedShapePoints (notnull IEntitySource shapeEntitySrc)
 
Color GetColor ()
 
void ColorShape ()
 Set shape's line colour to GetColor() value.
 
IEntitySource GetShapeSource ()
 Get the parent shape above this generator (has to be the direct parent)
 
void SCR_GeneratorBaseEntity (IEntitySource src, IEntity parent)
 

Protected Attributes

bool m_bEnableMiddleObject
 
ResourceName MiddleObject
 
bool PlaceMiddleAtVertex
 
bool PlaceMiddleAtVertexOnly
 
float MiddleObjectPrePadding
 
float MiddleObjectOffsetRight
 
float MiddleObjectPostPadding
 
float MiddleObjectOffsetUp
 
bool m_bEnableFirstObject
 
ResourceName FirstObject
 
float FirstObjectPrePadding
 
float FirstObjectPostPadding
 
float FirstObjectOffsetRight
 
float FirstObjectOffsetUp
 
bool m_bEnableLastObject
 
ResourceName LastObject
 
float LastObjectPrePadding
 
float LastObjectPostPadding
 
float LastObjectOffsetRight
 
float LastObjectOffsetUp
 
float PrePadding
 
float PostPadding
 
float m_fOvershoot
 
float m_fOffsetRight
 
float m_fOffsetUp
 
ref array< ref WallLengthGroupm_aWallGroups
 
bool PrePadFirst
 
bool ExactPlacement
 
bool m_bStartFromTheEnd
 
bool UseXAsForward
 
bool Rotate180
 
bool UseForVerySmallObjects
 
bool m_bSnapToTerrain
 
ref array< ResourceName > WallPrefabs
 
ref SCR_WallGroupContainer m_WallGroupContainer
 
- Protected Attributes inherited from SCR_LineTerrainShaperGeneratorBaseEntity
bool m_bSculptTerrain
 
int m_iTerrainSculptingPriority
 
float m_fTerrainSculptingPathWidth
 
float m_fTerrainSculptingFallOffWidth
 
ShapeEntity m_ShapeEntity
 Read by WorldEditorAPI.AddTerrainFlatterEntity, CANNOT be renamed defined at the last moment in UpdateTerrainSimple from m_ParentShapeSource / m_OffsetShapeSource.
 
- Protected Attributes inherited from SCR_LineGeneratorBaseEntity
vector m_vShapeOffset
 
bool m_bYOffsetInShapeSpace
 
float m_fShapeOffset
 
float m_fSplineSafetyDistanceRatio
 
bool m_bSnapOffsetShapeToTheGround
 
bool m_bNextPointMeasurementXZ
 
ref SCR_ShapeNextPointHelper m_ShapeNextPointHelper
 
ref SCR_DebugShapeManager m_DbgShpMgr
 
ref array< Shape > m_aOffsetShapeShapes = {}
 
bool m_bIsSelectedAlone
 
bool m_bForceOffsetShapeShapesRefresh
 
- Protected Attributes inherited from SCR_GeneratorBaseEntity
bool m_bEnableGeneration
 
int m_iSeed
 
IEntitySource m_Source
 the generator's entity source
 
IEntitySource m_ParentShapeSource
 the parent shape's entity source, if any - must be managed ONLY by SCR_GeneratorBaseEntity
 
int m_iSourceLayerID
 
ref RandomGenerator m_RandomGenerator
 
bool m_bIsChangingWorkbenchKey
 

Static Protected Attributes

static const float MIN_WALL_PIECE_SIZE = 0.001
 1mm is enough precision
 
static const float MIN_WALL_SLOT_SIZE = 0.001
 wall length, pre-padding and post-padding
 
static BaseWorld s_World
 
static const ref map< ResourceName, float > MEASUREMENTS = new map<ResourceName, float>()
 
static const int MAX_LOOPS_SAFETY = 500
 
- Static Protected Attributes inherited from SCR_LineTerrainShaperGeneratorBaseEntity
static const ref array< string > TERRAIN_UPDATE_KEYS
 
static const string OFFSET_SHAPE_COLOUR = "1 0 1 1"
 
- Static Protected Attributes inherited from SCR_GeneratorBaseEntity
static const int BASE_GENERATOR_COLOUR = Color.WHITE
 

Additional Inherited Members

- Public Member Functions inherited from SCR_LineTerrainShaperGeneratorBaseEntity
override void _WB_OnInit (inout vector mat[4], IEntitySource src)
 
override void _WB_OnCreate (IEntitySource src)
 
override void _WB_OnParentChange (IEntitySource src, IEntitySource prevParentSrc)
 
override void _WB_OnDelete (IEntitySource src)
 
- Public Member Functions inherited from SCR_GeneratorBaseEntity
override bool _WB_CanSelect (IEntitySource src)
 
map< int, ref ShapePointDataScriptBase > GetFirstPointDataMap (TypeName wantedType=ShapePointDataScriptBase)
 
map< int, ref array< ref ShapePointDataScriptBase > > GetPointDataMap (TypeName wantedType=ShapePointDataScriptBase)
 
- Static Protected Member Functions inherited from SCR_GeneratorBaseEntity
static array< vector > GetPoints (notnull IEntitySource shapeEntitySrc)
 
static array< vector > GetAnchorPoints (notnull IEntitySource shapeEntitySrc, float offset=0, bool isShapeClosed=false)
 
static array< vector > GetTesselatedShapePoints (notnull IEntitySource shapeEntitySrc, float offset=0, bool isShapeClosed=false)
 

Member Function Documentation

◆ _WB_OnKeyChanged()

override bool WallGeneratorEntity._WB_OnKeyChanged ( BaseContainer src,
string key,
BaseContainerList ownerContainers,
IEntity parent )
protected

◆ CreateWallEntity()

IEntitySource WallGeneratorEntity.CreateWallEntity ( WorldEditorAPI worldEditorAPI,
BaseWorld world,
ResourceName resourceName,
inout vector startPos,
vector relPosOffset,
float prePadding,
float postPadding,
float dirOffset,
int anchorLimit = -1 )
protected

◆ Generate()

void WallGeneratorEntity.Generate ( )
protected

◆ GenerateClosestToShape()

void WallGeneratorEntity.GenerateClosestToShape ( notnull array< vector > anchorPoints,
float rotationOffset )
protected

◆ GenerateInStraightLine()

void WallGeneratorEntity.GenerateInStraightLine ( notnull array< vector > anchorPoints,
float rotationOffset,
int forwardAxis )
protected

◆ MeasureEntity()

static float WallGeneratorEntity.MeasureEntity ( ResourceName entityName,
int measureAxis )
static
Parameters
[in]entityNamePrefab to measure
[in]measureAxis0 for X measure (default for incorrect values), 1 for Y measure, 2 for Z measure
[in]worldrequired
Returns
entity side on provided axis, MIN_WALL_PIECE_SIZE if below it, -1 on failure

◆ OnShapeChangedInternal()

override void WallGeneratorEntity.OnShapeChangedInternal ( IEntitySource shapeEntitySrc,
ShapeEntity shapeEntity,
array< vector > mins,
array< vector > maxes )
protected

◆ PlacePrefab()

IEntitySource WallGeneratorEntity.PlacePrefab ( bool generate,
ResourceName name,
out vector pos,
vector dir,
vector prevDir,
float rotationAdjustment,
bool isGeneratorVisible,
float length,
float prePadding,
float postPadding,
float offsetUp,
bool alignNext,
bool prepadNext,
bool snapToGround = false,
bool allowClipping = false,
vector offsetRight = vector::Zero )
protected

Member Data Documentation

◆ ExactPlacement

bool WallGeneratorEntity.ExactPlacement
protected

◆ FirstObject

ResourceName WallGeneratorEntity.FirstObject
protected

◆ FirstObjectOffsetRight

float WallGeneratorEntity.FirstObjectOffsetRight
protected

◆ FirstObjectOffsetUp

float WallGeneratorEntity.FirstObjectOffsetUp
protected

◆ FirstObjectPostPadding

float WallGeneratorEntity.FirstObjectPostPadding
protected

◆ FirstObjectPrePadding

float WallGeneratorEntity.FirstObjectPrePadding
protected

◆ LastObject

ResourceName WallGeneratorEntity.LastObject
protected

◆ LastObjectOffsetRight

float WallGeneratorEntity.LastObjectOffsetRight
protected

◆ LastObjectOffsetUp

float WallGeneratorEntity.LastObjectOffsetUp
protected

◆ LastObjectPostPadding

float WallGeneratorEntity.LastObjectPostPadding
protected

◆ LastObjectPrePadding

float WallGeneratorEntity.LastObjectPrePadding
protected

◆ m_aWallGroups

ref array<ref WallLengthGroup> WallGeneratorEntity.m_aWallGroups
protected

◆ m_bDebug

bool WallGeneratorEntity.m_bDebug

◆ m_bEnableFirstObject

bool WallGeneratorEntity.m_bEnableFirstObject
protected

◆ m_bEnableLastObject

bool WallGeneratorEntity.m_bEnableLastObject
protected

◆ m_bEnableMiddleObject

bool WallGeneratorEntity.m_bEnableMiddleObject
protected

◆ m_bSnapToTerrain

bool WallGeneratorEntity.m_bSnapToTerrain
protected

◆ m_bStartFromTheEnd

bool WallGeneratorEntity.m_bStartFromTheEnd
protected

◆ m_fOffsetRight

float WallGeneratorEntity.m_fOffsetRight
protected

◆ m_fOffsetUp

float WallGeneratorEntity.m_fOffsetUp
protected

◆ m_fOvershoot

float WallGeneratorEntity.m_fOvershoot
protected

◆ m_WallGroupContainer

ref SCR_WallGroupContainer WallGeneratorEntity.m_WallGroupContainer
protected

◆ MAX_LOOPS_SAFETY

const int WallGeneratorEntity.MAX_LOOPS_SAFETY = 500
staticprotected

◆ MEASUREMENTS

const ref map<ResourceName, float> WallGeneratorEntity.MEASUREMENTS = new map<ResourceName, float>()
staticprotected

◆ MiddleObject

ResourceName WallGeneratorEntity.MiddleObject
protected

◆ MiddleObjectOffsetRight

float WallGeneratorEntity.MiddleObjectOffsetRight
protected

◆ MiddleObjectOffsetUp

float WallGeneratorEntity.MiddleObjectOffsetUp
protected

◆ MiddleObjectPostPadding

float WallGeneratorEntity.MiddleObjectPostPadding
protected

◆ MiddleObjectPrePadding

float WallGeneratorEntity.MiddleObjectPrePadding
protected

◆ MIN_WALL_PIECE_SIZE

const float WallGeneratorEntity.MIN_WALL_PIECE_SIZE = 0.001
staticprotected

1mm is enough precision

◆ MIN_WALL_SLOT_SIZE

const float WallGeneratorEntity.MIN_WALL_SLOT_SIZE = 0.001
staticprotected

wall length, pre-padding and post-padding

◆ PlaceMiddleAtVertex

bool WallGeneratorEntity.PlaceMiddleAtVertex
protected

◆ PlaceMiddleAtVertexOnly

bool WallGeneratorEntity.PlaceMiddleAtVertexOnly
protected

◆ PostPadding

float WallGeneratorEntity.PostPadding
protected

◆ PrePadding

float WallGeneratorEntity.PrePadding
protected

◆ PrePadFirst

bool WallGeneratorEntity.PrePadFirst
protected

◆ Rotate180

bool WallGeneratorEntity.Rotate180
protected

◆ s_World

BaseWorld WallGeneratorEntity.s_World
staticprotected

◆ UseForVerySmallObjects

bool WallGeneratorEntity.UseForVerySmallObjects
protected

◆ UseXAsForward

bool WallGeneratorEntity.UseXAsForward
protected

◆ WallPrefabs

ref array<ResourceName> WallGeneratorEntity.WallPrefabs
protected

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