SpatialSystem class
Пакет: com.hypixel.hytale.component.spatial
Файл: com/hypixel/hytale/component/spatial/SpatialSystem.java
extends: TickingSystem<ECS_TYPE>
implements: QuerySystem<ECS_TYPE>
Поля (5)
| Модификаторы | Тип | Имя |
|---|---|---|
|
SpatialResource |
var4 |
|
int |
var4 |
|
SpatialData |
var5 |
|
Vector3d |
var6 |
|
Ref |
var7 |
Методы (2)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
|
|
for for(int var5 = 0; var5 < var4; var5++) |
|
|
if if(var6 != null) |
Исходный код
Показать/скрыть
class="kw">package com.hypixel.hytale.component.spatial;
class="kw">import com.hypixel.hytale.component.ArchetypeChunk;
class="kw">import com.hypixel.hytale.component.Ref;
class="kw">import com.hypixel.hytale.component.ResourceType;
class="kw">import com.hypixel.hytale.component.Store;
class="kw">import com.hypixel.hytale.component.system.QuerySystem;
class="kw">import com.hypixel.hytale.component.system.tick.TickingSystem;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;
class="kw">import org.joml.Vector3d;
class="kw">public class="kw">abstract class SpatialSystem<ECS_TYPE> class="kw">extends TickingSystem<ECS_TYPE> class="kw">implements QuerySystem<ECS_TYPE> {
@Nonnull
class="kw">private class="kw">final ResourceType<ECS_TYPE, SpatialResource<Ref<ECS_TYPE>, ECS_TYPE>> resourceType;
class="kw">public SpatialSystem(@Nonnull ResourceType<ECS_TYPE, SpatialResource<Ref<ECS_TYPE>, ECS_TYPE>> var1) {
this.resourceType = var1;
}
@Override
class="kw">public void tick(float var1, int var2, @Nonnull Store<ECS_TYPE> var3) {
SpatialResource var4 = var3.getResource(this.resourceType);
SpatialData var5 = var4.getSpatialData();
var5.clear();
var3.forEachChunk(var2, (var2x, var3x) -> {
int var4 = var2x.size();
var5.addCapacity(var4);
for (int var5 = 0; var5 < var4; var5++) {
Vector3d var6 = this.getPosition(var2x, var5);
if (var6 != null) {
Ref var7 = var2x.getReferenceTo(var5);
var5.append(var6, var7);
}
}
});
var4.getSpatialStructure().rebuild(var5);
}
@Nullable
class="kw">public class="kw">abstract Vector3d getPosition(@Nonnull ArchetypeChunk<ECS_TYPE> var1, int var2);
}