SystemGroupDependency class

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

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

extends: Dependency<ECS_TYPE>

Поля (1)

МодификаторыТипИмя
break

Методы (4)

МодификаторыВозвратСигнатура
abstract throw new IllegalArgumentExceptionthrow new IllegalArgumentException("System dependency isn't registered: " + this.group)
abstract super super(var1, var3)
switch switch(this.order)
abstract this this(var1, var2, OrderPriority.NORMAL)

Исходный код

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

class="kw">import com.hypixel.hytale.component.ComponentRegistry;
class="kw">import com.hypixel.hytale.component.SystemGroup;
class="kw">import com.hypixel.hytale.component.system.ISystem;
class="kw">import javax.annotation.Nonnull;

class="kw">public class SystemGroupDependency<ECS_TYPE> class="kw">extends Dependency<ECS_TYPE> {
   @Nonnull
   class="kw">private class="kw">final SystemGroup<ECS_TYPE> group;

   class="kw">public SystemGroupDependency(@Nonnull Order var1, @Nonnull SystemGroup<ECS_TYPE> var2) {
      this(var1, var2, OrderPriority.NORMAL);
   }

   class="kw">public SystemGroupDependency(@Nonnull Order var1, @Nonnull SystemGroup<ECS_TYPE> var2, int var3) {
      super(var1, var3);
      this.group = var2;
   }

   class="kw">public SystemGroupDependency(@Nonnull Order var1, @Nonnull SystemGroup<ECS_TYPE> var2, @Nonnull OrderPriority var3) {
      super(var1, var3);
      this.group = var2;
   }

   @Nonnull
   class="kw">public SystemGroup<ECS_TYPE> getGroup() {
      class="kw">return this.group;
   }

   @Override
   class="kw">public void validate(@Nonnull ComponentRegistry<ECS_TYPE> var1) {
      if (!var1.hasSystemGroup(this.group)) {
         throw new IllegalArgumentException("System dependency isn't registered: " + this.group);
      }
   }

   @Override
   class="kw">public void resolveGraphEdge(@Nonnull ComponentRegistry<ECS_TYPE> var1, @Nonnull ISystem<ECS_TYPE> var2, @Nonnull DependencyGraph<ECS_TYPE> var3) {
      class="kw">switch (this.order) {
         case BEFORE:
            for (ISystem var11 : var3.getSystems()) {
               if (this.group.equals(var11.getGroup())) {
                  var3.addEdge(var2, var11, -this.priority);
               }
            }
            break;
         case AFTER:
            for (ISystem var7 : var3.getSystems()) {
               if (this.group.equals(var7.getGroup())) {
                  var3.addEdge(var7, var2, this.priority);
               }
            }
      }
   }

   @Nonnull
   @Override
   class="kw">public String toString() {
      class="kw">return "SystemGroupDependency{group=" + this.group + "} " + super.toString();
   }
}