ForEachTaskData class

Пакет: com.hypixel.hytale.component.data

Файл: com/hypixel/hytale/component/data/ForEachTaskData.java

implements: IntConsumer

Поля (4)

МодификаторыТипИмя
int var2
ParallelRangeTask var4
int var5
ForEachTaskData var7

Методы (6)

МодификаторыВозвратСигнатура
public void clearvoid clear()
for for(int var3 = 0; var3 < var2; var3++)
abstract for for(int var6 = var4.size()
if if(var2 > 0)
public void initvoid init(IntBiObjectConsumer<ArchetypeChunk<ECS_TYPE>, CommandBuffer<ECS_TYPE>> var1, ArchetypeChunk<ECS_TYPE> var2, CommandBuffer<ECS_TYPE> var3)
static <ECS_TYPE> void invokeParallelTask<ECS_TYPE> void invokeParallelTask(@Nonnull ParallelTask<ForEachTaskData<ECS_TYPE>> var0, @Nonnull CommandBuffer<ECS_TYPE> var1)

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.component.data;

class="kw">import com.hypixel.hytale.component.ArchetypeChunk;
class="kw">import com.hypixel.hytale.component.CommandBuffer;
class="kw">import com.hypixel.hytale.component.task.ParallelRangeTask;
class="kw">import com.hypixel.hytale.component.task.ParallelTask;
class="kw">import com.hypixel.hytale.function.consumer.IntBiObjectConsumer;
class="kw">import java.util.function.IntConsumer;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;

class="kw">public class ForEachTaskData<ECS_TYPE> class="kw">implements IntConsumer {
   @Nullable
   class="kw">private IntBiObjectConsumer<ArchetypeChunk<ECS_TYPE>, CommandBuffer<ECS_TYPE>> consumer;
   @Nullable
   class="kw">private ArchetypeChunk<ECS_TYPE> archetypeChunk;
   @Nullable
   class="kw">private CommandBuffer<ECS_TYPE> commandBuffer;

   class="kw">public ForEachTaskData() {
   }

   class="kw">public void init(IntBiObjectConsumer<ArchetypeChunk<ECS_TYPE>, CommandBuffer<ECS_TYPE>> var1, ArchetypeChunk<ECS_TYPE> var2, CommandBuffer<ECS_TYPE> var3) {
      this.consumer = var1;
      this.archetypeChunk = var2;
      this.commandBuffer = var3;
   }

   @Override
   class="kw">public void accept(int var1) {
      assert this.commandBuffer.setThread();
      this.consumer.accept(var1, this.archetypeChunk, this.commandBuffer);
   }

   class="kw">public void clear() {
      this.consumer = null;
      this.archetypeChunk = null;
      this.commandBuffer = null;
   }

   class="kw">public class="kw">static <ECS_TYPE> void invokeParallelTask(@Nonnull ParallelTask<ForEachTaskData<ECS_TYPE>> var0, @Nonnull CommandBuffer<ECS_TYPE> var1) {
      int var2 = var0.size();
      if (var2 > 0) {
         var0.doInvoke();

         for (int var3 = 0; var3 < var2; var3++) {
            ParallelRangeTask var4 = var0.get(var3);
            int var5 = 0;

            for (int var6 = var4.size(); var5 < var6; var5++) {
               ForEachTaskData var7 = var4.get(var5);
               var7.commandBuffer.mergeParallel(var1);
               var7.clear();
            }
         }
      }
   }
}