Data class

Пакет: com.hypixel.hytale.component.system.tick

Файл: com/hypixel/hytale/component/system/tick/DelayedEntitySystem.java

implements: Resource<ECS_TYPE>

Поля (2)

МодификаторыТипИмя
private float dt
DelayedEntitySystem.Data var1

Методы (1)

МодификаторыВозвратСигнатура
public Resource<ECS_TYPE> clonepublic Resource<ECS_TYPE> clone()

Исходный код

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

class="kw">import com.hypixel.hytale.component.Resource;
class="kw">import com.hypixel.hytale.component.ResourceType;
class="kw">import com.hypixel.hytale.component.Store;
class="kw">import javax.annotation.Nonnull;

class="kw">public class="kw">abstract class DelayedEntitySystem<ECS_TYPE> class="kw">extends EntityTickingSystem<ECS_TYPE> {
   class="kw">private class="kw">final ResourceType<ECS_TYPE, DelayedEntitySystem.Data<ECS_TYPE>> resourceType = this.registerResource(
      DelayedEntitySystem.Data.class, DelayedEntitySystem.Data::new
   );
   class="kw">private class="kw">final float intervalSec;

   class="kw">public DelayedEntitySystem(float var1) {
      this.intervalSec = var1;
   }

   @Nonnull
   class="kw">public ResourceType<ECS_TYPE, DelayedEntitySystem.Data<ECS_TYPE>> getResourceType() {
      class="kw">return this.resourceType;
   }

   class="kw">public float getIntervalSec() {
      class="kw">return this.intervalSec;
   }

   @Override
   class="kw">public void tick(float var1, int var2, @Nonnull Store<ECS_TYPE> var3) {
      DelayedEntitySystem.Data var4 = var3.getResource(this.resourceType);
      var4.dt += var1;
      if (var4.dt >= this.intervalSec) {
         float var5 = var4.dt;
         var4.dt = 0.0F;
         super.tick(var5, var2, var3);
      }
   }

   class="kw">private class="kw">static class Data<ECS_TYPE> class="kw">implements Resource<ECS_TYPE> {
      class="kw">private float dt;

      class="kw">private Data() {
      }

      @Nonnull
      @Override
      class="kw">public Resource<ECS_TYPE> clone() {
         DelayedEntitySystem.Data var1 = new DelayedEntitySystem.Data<>();
         var1.dt = this.dt;
         class="kw">return var1;
      }
   }
}