From 07ec6a9bc102a4a71757344617d9af8664cdb7a7 Mon Sep 17 00:00:00 2001 From: Collin Smith Date: Thu, 21 Nov 2019 03:39:31 -0800 Subject: [PATCH] Relaxed family constraint that all entities should have a COF -- items do not --- core/src/com/riiablo/map/RenderSystem.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/core/src/com/riiablo/map/RenderSystem.java b/core/src/com/riiablo/map/RenderSystem.java index d90fe323..6cb3bb17 100644 --- a/core/src/com/riiablo/map/RenderSystem.java +++ b/core/src/com/riiablo/map/RenderSystem.java @@ -94,7 +94,7 @@ public class RenderSystem extends EntitySystem { private final ComponentMapper cofComponent = ComponentMapper.getFor(CofComponent.class); private final ComponentMapper positionComponent = ComponentMapper.getFor(PositionComponent.class); private final ComponentMapper objectComponent = ComponentMapper.getFor(ObjectComponent.class); - private final Family family = Family.all(AnimationComponent.class, CofComponent.class, PositionComponent.class).get(); + private final Family family = Family.all(AnimationComponent.class, PositionComponent.class).get(); private ImmutableArray entities; // DEBUG @@ -450,6 +450,7 @@ public class RenderSystem extends EntitySystem { && (sty <= pos.y && pos.y < sty + Tile.SUBTILE_SIZE)) { ObjectComponent objectComponent = this.objectComponent.get(entity); if (objectComponent != null) { + assert this.cofComponent.has(entity); CofComponent cofComponent = this.cofComponent.get(entity); orderFlag = objectComponent.base.OrderFlag[cofComponent.mode]; } else { @@ -624,7 +625,7 @@ public class RenderSystem extends EntitySystem { // } CofComponent cofComponent = this.cofComponent.get(entity); - if (cofComponent.load != Dirty.NONE) return; + if (cofComponent != null && cofComponent.load != Dirty.NONE) return; Animation animation = animationComponent.get(entity).animation; Vector2 pos = positionComponent.get(entity).position; Vector2 tmp = iso.toScreen(tmpVec2.set(pos)); @@ -689,7 +690,7 @@ public class RenderSystem extends EntitySystem { for (Array c : cache) { for (Entity entity : c) { CofComponent cofComponent = this.cofComponent.get(entity); - if (cofComponent.load != Dirty.NONE) continue; + if (cofComponent != null && cofComponent.load != Dirty.NONE) continue; Animation animation = animationComponent.get(entity).animation; Vector2 pos = positionComponent.get(entity).position; Vector2 tmp = iso.toScreen(tmpVec2.set(pos));