configHierarchy: Difference between revisions

From Bohemia Interactive Community
m (Text replacement - "\|( *\[\[[a-zA-Z]+\]\]) - ([a-z -]+) \|x1=" to "|r1=$1 - $2 |x1=")
m (example formatting)
 
(38 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{RV|type=command
{{RV|type=command


| arma3
|game1= arma3
|version1= 1.48


|gr1= Config
|gr1= Config


|1.48
|descr= Returns hierarchy of the given config class. Just like with [[inheritsFrom]], only complete config classes are supported (before {{GVI|arma3|2.14|size= 0.75}}). Since {{GVI|arma3|2.22|size= 0.75}}, an alt syntax is added, which allows to return parents identical to [[BIS_fnc_returnParents]] (see Example 2)


| Returns hierarchy of the given config class. Just like with [[inheritsFrom]], only complete config classes are supported
|s1= [[configHierarchy]] config


| '''configHierarchy''' configClass
|p1= config: [[Config]] - target config  
|p1= configClass: [[Config]] - target config class
|r1= [[Array]] - array of parent configs


|x1= <code>_hierarchy = [[configHierarchy]] ([[configFile]] >> "CfgVehicles" >> "Car");
|r1= [[Array]] - array of parent [[Config]]s, ordered from parent to child
//[bin\config.bin,bin\config.bin/CfgVehicles,bin\config.bin/CfgVehicles/Car]</code>


| [[configClasses]], [[configProperties]], [[missionConfigFile]], [[campaignConfigFile]], [[config / name]], [[config greater greater name|config >> name]], [[configName]], [[count]], [[getArray]], [[getText]], [[getNumber]], [[inheritsFrom]], [[isArray]], [[isClass]], [[isNumber]], [[isText]], [[select]], [[isKindOf]]
}}


|s2= [[configHierarchy]] [configClass, classesOnly, includeBases, reversedOrder, configNames]
|s2since= arma3 2.22
|p21= config: [[Config]] - target config
|p22= classesOnly: [[Boolean]] - when [[true]], only classes are included in output and not properties
|p23= includeBases: [[Boolean]] - when [[true]], returned parents will include base classes (see description)
|p24= reversedOrder: [[Boolean]] - when [[true]], the return order is from child to parent
|p25= configNames: (Optional) [[Boolean]] - when [[true]], the return is [[Array]] of [[String]]s, when [[false]] - [[Array]] of [[Config]]s. Default: [[false]]
|r2= [[Array]] - array of parent [[Config]]s or [[String]]s, representing config names
|x1= <sqf>
_hierarchy = configHierarchy (configFile >> "CfgVehicles" >> "Car");
// Returns [bin\config.bin, bin\config.bin/CfgVehicles, bin\config.bin/CfgVehicles/Car]
</sqf>


{{GameCategory|arma3|New Scripting Commands}}
|x2= <sqf>
_bis_fnc_returnParents = configHierarchy [configFile >> "CfgVehicles" >> "Land_FirePlace_F", true, true, true, true];
// Returns ["Land_FirePlace_F","House_F","House","HouseBase","NonStrategic","Building","Static","All"]
</sqf>


{{GameCategory|arma3|Scripting Commands}}
|seealso= [[configClasses]] [[configProperties]] [[missionConfigFile]] [[campaignConfigFile]] [[a / b]] [[config greater greater name|config >> name]] [[configName]] [[count]] [[getArray]] [[getText]] [[getNumber]] [[inheritsFrom]] [[isArray]] [[isClass]] [[isNumber]] [[isText]] [[select]] [[isKindOf]] [[BIS_fnc_returnParents]]
}}

Latest revision as of 14:27, 12 October 2025

Hover & click on the images for description

Description

Description:
Returns hierarchy of the given config class. Just like with inheritsFrom, only complete config classes are supported (before Arma 3 logo black.png 2.14). Since Arma 3 logo black.png 2.22, an alt syntax is added, which allows to return parents identical to BIS_fnc_returnParents (see Example 2)
Groups:
Config

Syntax

Syntax:
configHierarchy config
Parameters:
config: Config - target config
Return Value:
Array - array of parent Configs, ordered from parent to child

Alternative Syntax

Syntax:
configHierarchy [configClass, classesOnly, includeBases, reversedOrder, configNames]
Parameters:
config: Config - target config
classesOnly: Boolean - when true, only classes are included in output and not properties
includeBases: Boolean - when true, returned parents will include base classes (see description)
reversedOrder: Boolean - when true, the return order is from child to parent
configNames: (Optional) Boolean - when true, the return is Array of Strings, when false - Array of Configs. Default: false
Return Value:
Array - array of parent Configs or Strings, representing config names

Examples

Example 1:
_hierarchy = configHierarchy (configFile >> "CfgVehicles" >> "Car"); // Returns [bin\config.bin, bin\config.bin/CfgVehicles, bin\config.bin/CfgVehicles/Car]
Example 2:
_bis_fnc_returnParents = configHierarchy [configFile >> "CfgVehicles" >> "Land_FirePlace_F", true, true, true, true]; // Returns ["Land_FirePlace_F","House_F","House","HouseBase","NonStrategic","Building","Static","All"]

Additional Information

See also:
configClasses configProperties missionConfigFile campaignConfigFile a / b config >> name configName count getArray getText getNumber inheritsFrom isArray isClass isNumber isText select isKindOf BIS_fnc_returnParents

Notes

Report bugs on the Feedback Tracker and/or discuss them on the Arma Discord or on the Forums.
Only post proven facts here! Add Note