ComponentRegistryProxy class

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

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

implements: IComponentRegistry<ECS_TYPE>

Поля (3)

МодификаторыТипИмя
final ComponentRegistry<ECS_TYPE> registry
Class var2
Class var3

Методы (9)

МодификаторыВозвратСигнатура
if if(!var2x)
if if(!var2x)
if if(!var2)
if if(!var2)
if if(!var2)
if if(!var2)
if if(!var2)
if if(!var2)
public void shutdownvoid shutdown()

Исходный код

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

class="kw">import com.hypixel.hytale.codec.builder.BuilderCodec;
class="kw">import com.hypixel.hytale.component.event.EntityEventType;
class="kw">import com.hypixel.hytale.component.event.WorldEventType;
class="kw">import com.hypixel.hytale.component.spatial.SpatialResource;
class="kw">import com.hypixel.hytale.component.spatial.SpatialStructure;
class="kw">import com.hypixel.hytale.component.system.EcsEvent;
class="kw">import com.hypixel.hytale.component.system.ISystem;
class="kw">import com.hypixel.hytale.function.consumer.BooleanConsumer;
class="kw">import java.util.List;
class="kw">import java.util.function.Supplier;
class="kw">import javax.annotation.Nonnull;

class="kw">public class ComponentRegistryProxy<ECS_TYPE> class="kw">implements IComponentRegistry<ECS_TYPE> {
   class="kw">private class="kw">final ComponentRegistry<ECS_TYPE> registry;
   class="kw">private class="kw">final List<BooleanConsumer> unregister;

   class="kw">public ComponentRegistryProxy(List<BooleanConsumer> var1, ComponentRegistry<ECS_TYPE> var2) {
      this.unregister = var1;
      this.registry = var2;
   }

   class="kw">public void shutdown() {
   }

   @Nonnull
   @Override
   class="kw">public <T class="kw">extends Component<ECS_TYPE>> ComponentType<ECS_TYPE, T> registerComponent(@Nonnull Class<? super T> var1, @Nonnull Supplier<T> var2) {
      class="kw">return this.registerComponentType(this.registry.registerComponent(var1, var2));
   }

   @Nonnull
   @Override
   class="kw">public <T class="kw">extends Component<ECS_TYPE>> ComponentType<ECS_TYPE, T> registerComponent(
      @Nonnull Class<? super T> var1, @Nonnull String var2, @Nonnull BuilderCodec<T> var3
   ) {
      class="kw">return this.registerComponentType(this.registry.registerComponent(var1, var2, var3));
   }

   @Deprecated(forRemoval = true)
   @Nonnull
   class="kw">public <T class="kw">extends Component<ECS_TYPE>> ComponentType<ECS_TYPE, T> registerComponent(
      @Nonnull Class<? super T> var1, @Nonnull String var2, @Nonnull BuilderCodec<T> var3, boolean var4
   ) {
      class="kw">return this.registerComponentType(this.registry.registerComponent(var1, var2, var3, var4));
   }

   @Nonnull
   @Override
   class="kw">public <T class="kw">extends Resource<ECS_TYPE>> ResourceType<ECS_TYPE, T> registerResource(@Nonnull Class<? super T> var1, @Nonnull Supplier<T> var2) {
      class="kw">return this.registerResourceType(this.registry.registerResource(var1, var2));
   }

   @Nonnull
   @Override
   class="kw">public <T class="kw">extends Resource<ECS_TYPE>> ResourceType<ECS_TYPE, T> registerResource(
      @Nonnull Class<? super T> var1, @Nonnull String var2, @Nonnull BuilderCodec<T> var3
   ) {
      class="kw">return this.registerResourceType(this.registry.registerResource(var1, var2, var3));
   }

   @Nonnull
   @Override
   class="kw">public ResourceType<ECS_TYPE, SpatialResource<Ref<ECS_TYPE>, ECS_TYPE>> registerSpatialResource(@Nonnull Supplier<SpatialStructure<Ref<ECS_TYPE>>> var1) {
      class="kw">return this.registerResourceType(this.registry.registerSpatialResource(var1));
   }

   @Nonnull
   @Override
   class="kw">public <T class="kw">extends ISystem<ECS_TYPE>> SystemType<ECS_TYPE, T> registerSystemType(@Nonnull Class<? super T> var1) {
      class="kw">return this.registerSystemType(this.registry.registerSystemType(var1));
   }

   @Nonnull
   @Override
   class="kw">public <T class="kw">extends EcsEvent> EntityEventType<ECS_TYPE, T> registerEntityEventType(@Nonnull Class<? super T> var1) {
      class="kw">return this.registerEntityEventType(this.registry.registerEntityEventType(var1));
   }

   @Nonnull
   @Override
   class="kw">public <T class="kw">extends EcsEvent> WorldEventType<ECS_TYPE, T> registerWorldEventType(@Nonnull Class<? super T> var1) {
      class="kw">return this.registerWorldEventType(this.registry.registerWorldEventType(var1));
   }

   @Nonnull
   @Override
   class="kw">public SystemGroup<ECS_TYPE> registerSystemGroup() {
      class="kw">return this.registerSystemGroup(this.registry.registerSystemGroup());
   }

   @Override
   class="kw">public void registerSystem(@Nonnull ISystem<ECS_TYPE> var1) {
      Class var2 = (Class<? class="kw">extends ISystem<ECS_TYPE>>)var1.getClass();
      this.registry.registerSystem(var1);
      this.unregister.add(var2x -> {
         if (!var2x) {
            if (this.registry.hasSystemClass(var2)) {
               this.registry.unregisterSystem(var2);
            }
         }
      });
   }

   @Deprecated(forRemoval = true)
   class="kw">public void registerSystem(@Nonnull ISystem<ECS_TYPE> var1, boolean var2) {
      Class var3 = (Class<? class="kw">extends ISystem<ECS_TYPE>>)var1.getClass();
      this.registry.registerSystem(var1, var2);
      this.unregister.add(var2x -> {
         if (!var2x) {
            if (this.registry.hasSystemClass(var3)) {
               this.registry.unregisterSystem(var3);
            }
         }
      });
   }

   @Nonnull
   class="kw">private <T class="kw">extends Component<ECS_TYPE>> ComponentType<ECS_TYPE, T> registerComponentType(@Nonnull ComponentType<ECS_TYPE, T> var1) {
      this.unregister.add(var2 -> {
         if (!var2) {
            if (var1.isValid()) {
               this.registry.unregisterComponent(var1);
            }
         }
      });
      class="kw">return var1;
   }

   @Nonnull
   class="kw">private <T class="kw">extends Resource<ECS_TYPE>> ResourceType<ECS_TYPE, T> registerResourceType(@Nonnull ResourceType<ECS_TYPE, T> var1) {
      this.unregister.add(var2 -> {
         if (!var2) {
            if (var1.isValid()) {
               this.registry.unregisterResource(var1);
            }
         }
      });
      class="kw">return var1;
   }

   @Nonnull
   class="kw">private <T class="kw">extends ISystem<ECS_TYPE>> SystemType<ECS_TYPE, T> registerSystemType(@Nonnull SystemType<ECS_TYPE, T> var1) {
      this.unregister.add(var2 -> {
         if (!var2) {
            if (var1.isValid()) {
               this.registry.unregisterSystemType(var1);
            }
         }
      });
      class="kw">return var1;
   }

   @Nonnull
   class="kw">private <T class="kw">extends EcsEvent> EntityEventType<ECS_TYPE, T> registerEntityEventType(@Nonnull EntityEventType<ECS_TYPE, T> var1) {
      this.unregister.add(var2 -> {
         if (!var2) {
            if (var1.isValid()) {
               this.registry.unregisterEntityEventType(var1);
            }
         }
      });
      class="kw">return var1;
   }

   @Nonnull
   class="kw">private <T class="kw">extends EcsEvent> WorldEventType<ECS_TYPE, T> registerWorldEventType(@Nonnull WorldEventType<ECS_TYPE, T> var1) {
      this.unregister.add(var2 -> {
         if (!var2) {
            if (var1.isValid()) {
               this.registry.unregisterWorldEventType(var1);
            }
         }
      });
      class="kw">return var1;
   }

   @Nonnull
   class="kw">private SystemGroup<ECS_TYPE> registerSystemGroup(@Nonnull SystemGroup<ECS_TYPE> var1) {
      this.unregister.add(var2 -> {
         if (!var2) {
            if (var1.isValid()) {
               this.registry.unregisterSystemGroup(var1);
            }
         }
      });
      class="kw">return var1;
   }
}