mirror of
https://github.com/collinsmith/riiablo.git
synced 2025-07-06 00:08:19 +07:00
Implemented system priorities and created SystemPriority to store them
This commit is contained in:
10
core/src/com/riiablo/engine/SystemPriority.java
Normal file
10
core/src/com/riiablo/engine/SystemPriority.java
Normal file
@ -0,0 +1,10 @@
|
||||
package com.riiablo.engine;
|
||||
|
||||
public final class SystemPriority {
|
||||
public static final int IdSystem = Integer.MIN_VALUE;
|
||||
public static final int CofSystem = -100;
|
||||
public static final int CofLoaderSystem = -90;
|
||||
public static final int AnimationLoaderSystem = -80;
|
||||
|
||||
private SystemPriority() {}
|
||||
}
|
@ -11,6 +11,7 @@ import com.riiablo.codec.Animation;
|
||||
import com.riiablo.codec.COF;
|
||||
import com.riiablo.codec.DC;
|
||||
import com.riiablo.engine.Dirty;
|
||||
import com.riiablo.engine.SystemPriority;
|
||||
import com.riiablo.engine.component.AnimationComponent;
|
||||
import com.riiablo.engine.component.CofComponent;
|
||||
|
||||
@ -24,7 +25,7 @@ public class AnimationLoaderSystem extends IteratingSystem {
|
||||
private final ComponentMapper<AnimationComponent> animComponent = ComponentMapper.getFor(AnimationComponent.class);
|
||||
|
||||
public AnimationLoaderSystem() {
|
||||
super(Family.all(CofComponent.class, AnimationComponent.class).get()); // TODO: priority
|
||||
super(Family.all(CofComponent.class, AnimationComponent.class).get(), SystemPriority.AnimationLoaderSystem);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -12,6 +12,7 @@ import com.riiablo.codec.COF;
|
||||
import com.riiablo.codec.DC;
|
||||
import com.riiablo.codec.DCC;
|
||||
import com.riiablo.engine.Dirty;
|
||||
import com.riiablo.engine.SystemPriority;
|
||||
import com.riiablo.engine.component.CofComponent;
|
||||
import com.riiablo.engine.component.TypeComponent;
|
||||
|
||||
@ -31,7 +32,7 @@ public class CofLoaderSystem extends IteratingSystem {
|
||||
private final StringBuilder builder = new StringBuilder(64);
|
||||
|
||||
public CofLoaderSystem() {
|
||||
super(Family.all(TypeComponent.class, CofComponent.class).get());
|
||||
super(Family.all(TypeComponent.class, CofComponent.class).get(), SystemPriority.CofLoaderSystem);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -8,6 +8,7 @@ import com.badlogic.ashley.systems.IteratingSystem;
|
||||
import com.badlogic.gdx.Gdx;
|
||||
import com.riiablo.codec.COF;
|
||||
import com.riiablo.engine.Dirty;
|
||||
import com.riiablo.engine.SystemPriority;
|
||||
import com.riiablo.engine.component.CofComponent;
|
||||
import com.riiablo.engine.component.TypeComponent;
|
||||
|
||||
@ -21,7 +22,7 @@ public class CofSystem extends IteratingSystem {
|
||||
private final ComponentMapper<CofComponent> cofComponent = ComponentMapper.getFor(CofComponent.class);
|
||||
|
||||
public CofSystem() {
|
||||
super(Family.all(TypeComponent.class, CofComponent.class).get());
|
||||
super(Family.all(TypeComponent.class, CofComponent.class).get(), SystemPriority.CofSystem);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -7,6 +7,7 @@ import com.badlogic.ashley.core.EntityListener;
|
||||
import com.badlogic.ashley.core.EntitySystem;
|
||||
import com.badlogic.ashley.core.Family;
|
||||
import com.badlogic.gdx.utils.IntMap;
|
||||
import com.riiablo.engine.SystemPriority;
|
||||
import com.riiablo.engine.component.IdComponent;
|
||||
|
||||
public class IdSystem extends EntitySystem implements EntityListener {
|
||||
@ -15,7 +16,9 @@ public class IdSystem extends EntitySystem implements EntityListener {
|
||||
private final IntMap<Entity> entitiesById = new IntMap<>();
|
||||
private int nextEntityId = IdComponent.INVALID_ID;
|
||||
|
||||
public IdSystem() {}
|
||||
public IdSystem() {
|
||||
super(SystemPriority.IdSystem);
|
||||
}
|
||||
|
||||
public Entity getEntity(int id) {
|
||||
return entitiesById.get(id);
|
||||
|
Reference in New Issue
Block a user