From ad0aa06a5def383c4336103e57bf531b05f0ca52 Mon Sep 17 00:00:00 2001 From: Collin Smith Date: Sat, 2 Nov 2019 14:13:41 -0700 Subject: [PATCH] Refactored MapComponent into MapComponent and DS1Component to separate DS1 object references --- core/src/com/riiablo/engine/Engine.java | 15 +++++++++++---- .../riiablo/engine/component/DS1Component.java | 16 ++++++++++++++++ .../riiablo/engine/component/MapComponent.java | 9 ++------- 3 files changed, 29 insertions(+), 11 deletions(-) create mode 100644 core/src/com/riiablo/engine/component/DS1Component.java diff --git a/core/src/com/riiablo/engine/Engine.java b/core/src/com/riiablo/engine/Engine.java index f21558c4..b00e91e3 100644 --- a/core/src/com/riiablo/engine/Engine.java +++ b/core/src/com/riiablo/engine/Engine.java @@ -16,6 +16,7 @@ import com.riiablo.engine.component.AnimationComponent; import com.riiablo.engine.component.BBoxComponent; import com.riiablo.engine.component.ClassnameComponent; import com.riiablo.engine.component.CofComponent; +import com.riiablo.engine.component.DS1Component; import com.riiablo.engine.component.IdComponent; import com.riiablo.engine.component.MapComponent; import com.riiablo.engine.component.MonsterComponent; @@ -138,8 +139,10 @@ public class Engine extends PooledEngine { MapComponent mapComponent = createComponent(MapComponent.class); mapComponent.map = map; mapComponent.zone = zone; - mapComponent.ds1 = ds1; - mapComponent.object = object; + + DS1Component ds1Component = createComponent(DS1Component.class); + ds1Component.ds1 = ds1; + ds1Component.object = object; Entity entity = createEntity(base.Description); entity.add(typeComponent); @@ -148,6 +151,7 @@ public class Engine extends PooledEngine { entity.add(boxComponent); entity.add(positionComponent); entity.add(mapComponent); + entity.add(ds1Component); entity.add(objectComponent); // flags @@ -172,8 +176,10 @@ public class Engine extends PooledEngine { MapComponent mapComponent = createComponent(MapComponent.class); mapComponent.map = map; mapComponent.zone = zone; - mapComponent.ds1 = ds1; - mapComponent.object = object; + + DS1Component ds1Component = createComponent(DS1Component.class); + ds1Component.ds1 = ds1; + ds1Component.object = object; TypeComponent typeComponent = createComponent(TypeComponent.class); typeComponent.type = TypeComponent.Type.MON; @@ -205,6 +211,7 @@ public class Engine extends PooledEngine { entity.add(boxComponent); entity.add(positionComponent); entity.add(mapComponent); + entity.add(ds1Component); entity.add(monsterComponent); if (monstats2.isSel) entity.flags |= Flags.SELECTABLE; diff --git a/core/src/com/riiablo/engine/component/DS1Component.java b/core/src/com/riiablo/engine/component/DS1Component.java new file mode 100644 index 00000000..6cdb27f7 --- /dev/null +++ b/core/src/com/riiablo/engine/component/DS1Component.java @@ -0,0 +1,16 @@ +package com.riiablo.engine.component; + +import com.badlogic.ashley.core.Component; +import com.badlogic.gdx.utils.Pool; +import com.riiablo.map.DS1; + +public class DS1Component implements Component, Pool.Poolable { + public DS1 ds1; + public DS1.Object object; + + @Override + public void reset() { + ds1 = null; + object = null; + } +} diff --git a/core/src/com/riiablo/engine/component/MapComponent.java b/core/src/com/riiablo/engine/component/MapComponent.java index ce6c3363..94497145 100644 --- a/core/src/com/riiablo/engine/component/MapComponent.java +++ b/core/src/com/riiablo/engine/component/MapComponent.java @@ -2,20 +2,15 @@ package com.riiablo.engine.component; import com.badlogic.ashley.core.Component; import com.badlogic.gdx.utils.Pool; -import com.riiablo.map.DS1; import com.riiablo.map.Map; public class MapComponent implements Component, Pool.Poolable { - public Map map; - public Map.Zone zone; - public DS1 ds1; - public DS1.Object object; + public Map map; + public Map.Zone zone; @Override public void reset() { map = null; zone = null; - ds1 = null; - object = null; } }