DIFF

class ConstructionPartTypeData

static parts info, lives on EntityType level. Instanced data in 'ConstructionPart' class

Members 38

protected string m_Name

un-localized text name that is displayed ingame. Localized via getter method.

protected string m_PartName

config class name

protected string m_MainPartName

main (parent) config class name

protected typename m_CustomInstanceTypename

set only for custom types, contains type of custom part instances

protected int m_Id

a number used for synchronization and persistence purposes, must be unique and withing sync limit (total number of bits in all sync/persistence variables)

Referenced by GetId(), and InitBasicStrings()
protected int m_BuildActionTypeMask

values from EConstructionTools

protected int m_BuildIndicationTypeMask

values from EConstructionTools, used for indication only!

protected int m_DismantleActionTypeMask

values from EConstructionTools

protected int m_MaterialType

used for determinig effect type (wood vs. metal sounds, for example)

protected int m_HandFBAnimOverride = -1

override ID of the FB animation for hand construction (tool anims are driven by tools)

protected bool m_IsBase

defines if this part is the foundation of the whole construction

Referenced by InitBasicStrings(), and IsBase()
protected bool m_IsGate

defines part gate state

Referenced by InitBasicStrings(), and IsGate()
protected bool m_IsUtilityPart

Special helper parts with invalid IDs

protected bool m_DamageHandsOnBuild
protected bool m_CanPartDecayConfig

determined by, in sequence: 'can_decay_general' in class Construction > 'can_decay' on the part itself

protected float m_PartDecayThresholdConfig
protected float m_PartDecayRateConfig
protected ref array<string> m_RequiredPartTypes

list of part types required by this part

protected ref array<string> m_ConflictedPartTypes

list of part types conflicting with this one

protected ref array<string> m_CollisionData

Names of min/max memory point selections

protected ref array<string> m_InsiderBoxPairNames

Names of min/max pairs for insider box considerations

protected ref array<string> m_ItemFallingData

Names of min/max memory point selections

protected ref array<string> m_EssentialAttachmentSlots

Names of att. slots that are tied to the constructed part in some way

protected ref array<string> m_RelatedGUICategoryNames

listing of related 'GUIInventoryAttachmentsProps' subclasses (part is required to display them, in this iteration)

protected ref array<ref ConstructionMaterialData> m_MaterialsData
protected string m_BuildTextOverride = ""
protected string m_DismantleTextOverride = ""
protected ref array<string> m_PhxGeomNames

used in 'Handle<operation>Physics' methods instead m_PartName

protected ref array<int> m_PhxGeomBehaviorInverted

dictates behavior of geom selections from 'm_PhxGeomNames'. 0 == matches the phase of the animation, non-zero == inverted

protected ref array<string> m_ProxyRoadwayNames

used in 'Handle<operation>ProxyRoadways' methods instead m_PartName

protected ref array<int> m_ProxyRoadwayBehaviorInverted

dictates behavior of ProxyRoadway from 'm_ProxyRoadwayNames'. 0 == matches the phase of the animation, non-zero == inverted

protected ref array<string> m_AnimSourceNameOverrides

used by 'SetAnimationPhase' instead of m_PartName

protected ref array<int> m_AnimSourceBehaviorOverridesInverted

dictates behavior of animSources from 'm_AnimSourceNameOverrides'. 0 == matches the hide/show state of the animation, non-zero == inverted

protected ref array<string> m_UtilityAutomaticBuild
protected ref ConstructionPartEffectsData m_EffectsData

Methods 76

protected void InitRequiredParts()
Referenced by InitPartTypeData()
protected void InitMaterialType()
Referenced by InitPartTypeData()
protected void InitConflictedParts()
Referenced by InitPartTypeData()
protected void InitCollisionData()

collision checks when building, if configured

Referenced by InitPartTypeData()
protected void InitInsiderBoxData()

'inside' box data to help determine whether the character is inside. Modelspace.

Referenced by InitPartTypeData()
protected void InitItemFallingData()

item falling on dismantle/destruct, if configured.

Referenced by InitPartTypeData()
protected void InitHandAnimOverride()
Referenced by InitPartTypeData()
protected void InitEssentialAttachmentSlots()

attachment slots somehow considered 'essential' to the part

Referenced by InitPartTypeData()
protected void InitConstructionActionDamage()

if hands get damaged on build (and possibly other overrides later)

Referenced by InitPartTypeData()
protected void InitUtilityPartInfo()
Referenced by InitPartTypeData()
protected void InitUtilityBuildData()
Referenced by InitPartTypeData()
protected void InitStaticsSupportPartData()
Referenced by InitPartTypeData()
protected void InitPartEffectsData()

'partPath' not necessary here, using part data directly, override as needed on unique part handlers

Referenced by InitPartTypeData()
protected void InitCustomPartTypeProperties(PartTypeInitData initData)

Generic init method for custom part type properties

Referenced by InitPartTypeData()
void SetCustomInstanceType(string name)
string GetPartPath()
References m_PartPath
string GetNameLocalized()
int GetId()
References m_Id
bool DamageToolOnBuild()
bool DamageHandsOnBuild()
bool DamageToolOnDeconstruct()
bool DamageHandsOnDeconstruct()
bool IsUtilityPart()
References m_IsUtilityPart
bool CanPartDecayConfig()
typename GetCustomInstanceType()
float GetPartDecayRateConfig()
float GetPartDecayThresholdConfig()
int GetHandBuildFBAnimOverride()
bool CanSimulateItemFalling()
bool HasEssentialAttachmentSlots()
bool IsBase()
References m_IsBase
bool IsGate()
References m_IsGate
array<string> GetRequiredPartTypes()
array<string> GetConflictedPartTypes()
array<string> GetCollisionData()

strings of min/max selections (should be single points in memory LOD)

References m_CollisionData
array<string> GetInsiderBoxPairNames()
array<string> GetItemFallingData()

strings of min/max selections (should be single points in memory LOD)

array<string> GetEssentialAttachmentSlots()
string GetPartAnimSourceName()

returns AnimSource name to use in 'SetAnimationPhase'

References m_PartName
string GetPartBoneName()

returns bone name to use in 'ProxyPhysics' methods (translated to BoneIdx down the line)

References m_PartName
int GetMaterialType()

rough material type, used for effect playback

References m_MaterialType
int GetBuildActionTypeMask()
int GetBuildIndicationTypeMask()
int GetDismantleActionTypeMask()
bool IsReversible()
TConstructionPartVariantArray GetRequiredPartsTypeVariantArray()
array<int> GetPartTypeProxyRoadwayBehaviorInverts()

Note, this will likely change after release, take care when modding

array<string> GetPartTypeUtilityAutobuildPartsList()
protected void SanitizeBuildIndicationMask()

Solves for category icon overlaps (in vanilla configuration)

Referenced by InitActionMasks()