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();
}
}
}
}
}