ISystem interface

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

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

Поля (2)

МодификаторыТипИмя
ISystem[] EMPTY_ARRAY
DependencyGraph var3

Методы (3)

МодификаторыВозвратСигнатура
static <ECS_TYPE> void calculateOrder<ECS_TYPE> void calculateOrder(@Nonnull ComponentRegistry<ECS_TYPE> var0, @Nonnull ISystem<ECS_TYPE>[] var1, int var2)
default void onSystemRegisteredvoid onSystemRegistered()
default void onSystemUnregisteredvoid onSystemUnregistered()

Исходный код

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

class="kw">import com.hypixel.hytale.component.ComponentRegistry;
class="kw">import com.hypixel.hytale.component.SystemGroup;
class="kw">import com.hypixel.hytale.component.dependency.Dependency;
class="kw">import com.hypixel.hytale.component.dependency.DependencyGraph;
class="kw">import java.util.Arrays;
class="kw">import java.util.Collections;
class="kw">import java.util.Set;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;

class="kw">public class="kw">interface ISystem<ECS_TYPE> {
   ISystem[] EMPTY_ARRAY = new ISystem[0];

   class="kw">default void onSystemRegistered() {
   }

   class="kw">default void onSystemUnregistered() {
   }

   @Nullable
   class="kw">default SystemGroup<ECS_TYPE> getGroup() {
      class="kw">return null;
   }

   @Nonnull
   class="kw">default Set<Dependency<ECS_TYPE>> getDependencies() {
      class="kw">return Collections.emptySet();
   }

   class="kw">static <ECS_TYPE> void calculateOrder(@Nonnull ComponentRegistry<ECS_TYPE> var0, @Nonnull ISystem<ECS_TYPE>[] var1, int var2) {
      DependencyGraph var3 = new DependencyGraph<>(Arrays.copyOf(var1, var2));
      var3.resolveEdges(var0);
      var3.sort(var1);
   }
}