DayZ 1.27
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено

◆ ProcessItemHierarchyRecursive()

void Environment::ProcessItemHierarchyRecursive ( ItemBase item,
float heatPermeabilityCoef = 1.0 )
inlineprotected

См. определение в файле Environment.c строка 1112

1113 {
1114 float heatPermCoef = heatPermeabilityCoef;
1115
1116 // go through any attachments and cargo, recursive
1117 int inventoryAttCount = item.GetInventory().AttachmentCount();
1118 if (inventoryAttCount > 0)
1119 {
1120 ItemBase attachmentItem;
1121 for (int inAttIdx = 0; inAttIdx < inventoryAttCount; ++inAttIdx)
1122 {
1123 if (Class.CastTo(attachmentItem,item.GetInventory().GetAttachmentFromIndex(inAttIdx)))
1124 {
1125 heatPermCoef = heatPermeabilityCoef;
1126 heatPermCoef *= attachmentItem.GetHeatPermeabilityCoef();
1127
1128 if (attachmentItem.CanHaveTemperature() && !attachmentItem.IsSelfAdjustingTemperature())
1129 {
1130 SetProcessedItemTemperature(attachmentItem,heatPermCoef);
1131 }
1132
1133 ProcessItemHierarchyRecursive(attachmentItem,heatPermCoef);
1134 }
1135 }
1136 }
1137
1138 if (item.GetInventory().GetCargo())
1139 {
1140 int inventoryItemCount = item.GetInventory().GetCargo().GetItemCount();
1141 if (inventoryItemCount > 0)
1142 {
1143 ItemBase inventoryItem;
1144 for (int j = 0; j < inventoryItemCount; ++j)
1145 {
1146 if (Class.CastTo(inventoryItem,item.GetInventory().GetCargo().GetItem(j)))
1147 {
1148 heatPermCoef = heatPermeabilityCoef;
1149 heatPermCoef *= inventoryItem.GetHeatPermeabilityCoef();
1150
1151 if (inventoryItem.CanHaveTemperature() && !inventoryItem.IsSelfAdjustingTemperature())
1152 {
1153 SetProcessedItemTemperature(inventoryItem,heatPermCoef);
1154 }
1155
1156 ProcessItemHierarchyRecursive(inventoryItem,heatPermCoef);
1157 }
1158 }
1159 }
1160 }
1161 }
class GP5GasMask extends MaskBase ItemBase
void SetProcessedItemTemperature(ItemBase item, float heatPermeabilityCoef=1.0)
Определения Environment.c:1163
void ProcessItemHierarchyRecursive(ItemBase item, float heatPermeabilityCoef=1.0)
Определения Environment.c:1112
override bool IsSelfAdjustingTemperature()
Определения PortableGasStove.c:287

Перекрестные ссылки Class::CastTo(), ItemBase::IsSelfAdjustingTemperature(), ProcessItemHierarchyRecursive() и SetProcessedItemTemperature().

Используется в ProcessItemHierarchyRecursive(), ProcessItemsInHandsTemperature() и ProcessItemsTemperature().