90 string cfgPath =
m_PartPath +
" required_parts";
116 int count =
g_Game.ConfigGetChildrenCount(
path);
117 for (
int i = 0; i < count; ++i)
120 g_Game.ConfigGetChildName(
path, i, childName);
122 string matPath =
path +
" " + childName;
169 int count = tmp.Count();
175 else if (count % 2 != 0)
281 int count =
g_Game.ConfigGetChildrenCount(
path);
288 for (
int i = 0; i < count; ++i)
290 string variantPath =
"";
291 g_Game.ConfigGetChildName(
path, i, variantPath);
292 variantPath =
path +
" " + variantPath +
" partVariants";
294 g_Game.ConfigGetTextArray(variantPath, tmp);
319 string tmpString =
"";
324 g_Game.FormatRawConfigStringKeys(tmpString);
333 g_Game.FormatRawConfigStringKeys(tmpString);
358 ErrorEx(
"'physics_geom_names' and 'physics_geom_behaviors_invert' counts do not match for part " +
m_PartName);
403 ErrorEx(
"'proxyroadway_names' and 'proxyroadway_behaviors_invert' counts do not match for part " +
m_PartName);
702 ErrorEx(
"'" + undefinedParam +
"'parameter undefined for " +
path);
PlayerSpawnPresetDiscreteItemSetSlotData name
one set for cargo
void ConstructionBase(EntityAI parent)
ConstructionMaterialType
used to guide action sound selection, mostly. Could be also used for particles and stuff,...
instanced data holder for single construction material
set< int > GetPartTypeConfiguredSupportCategories()
string GetPartAnimSourceName()
returns AnimSource name to use in 'SetAnimationPhase'
void InitGuiAttachmentCategoryLinks()
which 'GUIInventoryAttachmentsProps' subclasses it relates to
array< string > GetPartTypeAnimSourceNameOverrides()
bool HasEssentialAttachmentSlots()
void SanitizeBuildIndicationMask()
Solves for category icon overlaps (in vanilla configuration)
ref array< string > m_ConflictedPartTypes
ref array< string > m_InsiderBoxPairNames
ref array< string > m_ProxyRoadwayNames
void InitPartEffectsData()
'partPath' not necessary here, using part data directly, override as needed on unique part handlers
bool CanSimulateItemFalling()
int GetMaterialType()
rough material type, used for effect playback
ref array< string > m_RelatedGUICategoryNames
array< string > GetRelatedGUICategoryNames()
bool HasRelatedGUICategories()
void InitBasicStrings(PartTypeInitData partTypeData)
array< string > GetEssentialAttachmentSlots()
void InitPartTypeData(PartTypeInitData initData)
array< string > GetPartTypeUtilityAutobuildPartsList()
ref array< string > m_AnimSourceNameOverrides
string GetPartBoneName()
returns bone name to use in 'ProxyPhysics' methods (translated to BoneIdx down the line)
ConstructionPartEffectsData GetPartTypeEffectsData()
bool CanPartDecayConfig()
void InitEssentialAttachmentSlots()
attachment slots somehow considered 'essential' to the part
void ErrorConfigUndefined(string undefinedParam, string path)
ref array< string > m_UtilityAutomaticBuild
array< string > GetItemFallingData()
strings of min/max selections (should be single points in memory LOD)
void InitItemFallingData()
item falling on dismantle/destruct, if configured.
void InitConflictedParts()
array< string > GetPartTypeProxyRoadwayNames()
int GetBuildIndicationTypeMask()
void InitInsiderBoxData()
'inside' box data to help determine whether the character is inside. Modelspace.
void SetCustomInstanceType(string name)
void InitUtilityPartInfo()
void InitRequiredPartVariants()
bool DamageHandsOnBuild()
int m_BuildActionTypeMask
string GetDismantleTextOverride()
int GetPartTypeSupportRequirement(int category)
array< string > GetInsiderBoxPairNames()
void InitConstructionActionDamage()
if hands get damaged on build (and possibly other overrides later)
void InitOptionalOverrides()
string m_DismantleTextOverride
ref array< string > m_PhxGeomNames
float GetPartDecayRateConfig()
ref array< int > m_PhxGeomBehaviorInverted
ref array< string > m_ItemFallingData
ref array< string > m_RequiredPartTypes
array< string > GetConflictedPartTypes()
int GetDismantleActionTypeMask()
float m_PartDecayThresholdConfig
determined by, in sequence: 'can_decay_general' in class Construction > 'can_decay' on the part itsel...
float GetPartDecayThresholdConfig()
TConstructionPartVariantArray GetRequiredPartsTypeVariantArray()
array< int > GetPartTypeAnimSourceBehaviorInverts()
string m_BuildTextOverride
void InitCollisionData()
collision checks when building, if configured
int GetBuildActionTypeMask()
void SetCanDecayConfig(bool can)
ConstructionPartStaticsSupportData GetPartTypeStaticsSupportData()
array< string > GetPartTypePhxGeomNames()
array< ref ConstructionMaterialData > GetMaterialsData()
float m_PartDecayRateConfig
ref ConstructionPartStaticsSupportData m_StaticsData
int m_DismantleActionTypeMask
array< string > GetCollisionData()
strings of min/max selections (should be single points in memory LOD)
ref array< ref ConstructionMaterialData > m_MaterialsData
void InitCustomPartTypeProperties(PartTypeInitData initData)
Generic init method for custom part type properties.
ref array< string > m_EssentialAttachmentSlots
ref array< int > m_AnimSourceBehaviorOverridesInverted
bool DamageHandsOnDeconstruct()
void InitHandAnimOverride()
array< int > GetPartTypeProxyRoadwayBehaviorInverts()
Note, this will likely change after release, take care when modding.
ref array< int > m_ProxyRoadwayBehaviorInverted
ref array< string > m_CollisionData
ref TConstructionPartVariantArray m_ReqPartVariants
int GetPartTypeSupportProvided(int category)
bool m_DamageHandsOnBuild
Special helper parts with invalid IDs.
void InitUtilityBuildData()
int m_BuildIndicationTypeMask
int GetHandBuildFBAnimOverride()
bool DamageToolOnDeconstruct()
string GetNameLocalized()
ref ConstructionPartEffectsData m_EffectsData
void InitStaticsSupportPartData()
array< string > GetRequiredPartTypes()
array< int > GetPartTypePhxGeomBehaviorInverts()
bool m_CanPartDecayConfig
string GetBuildTextOverride()
static parts info, lives on EntityType level. Instanced data in 'ConstructionPart' class
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
static proto float Clamp(float value, float min, float max)
Clamps 'value' to 'min' if it is lower than 'min', or to 'max' if it is higher than 'max'.