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