759 {
761 array<string> dependentParts = new array<string>();
762
763 ConstructionPartRebuild rebPart;
765 {
766 if (Class.CastTo(rebPart, part))
767 {
768 name = rebPart.GetPartName();
769 array<string> reqPartsArray = rebPart.GetRequiredParts();
770 if (reqPartsArray && reqPartsArray.Find(part_name) > -1)
771 {
772 if (!recurs || (recurs.Find(
name) == -1))
773 dependentParts.Insert(
name);
774 }
775
776 TConstructionPartVariantArray tmpArr = rebPart.GetRequiredPartsVariants();
777 if (tmpArr)
778 {
779 foreach (array<string> variantGroup : tmpArr)
780 {
781 foreach (string partName : variantGroup)
782 {
783 if (partName == part_name)
784 dependentParts.Insert(
name);
785 }
786 }
787 }
788
790 {
791 dependentParts.Insert(
name);
792 }
793 }
794 }
795
796 return dependentParts;
797 }
PlayerSpawnPresetDiscreteItemSetSlotData name
one set for cargo
ref array< ConstructionPart > m_BuiltConstructionPartArray
void ConstructionPart(string name, string part_name, string main_part_name, int id, bool is_built, bool is_base, bool is_gate, array< string > required_parts)
bool PartHasAnySupportFulfilled(string part_name)