Refactored MapComponent into MapComponent and DS1Component to separate DS1 object references

This commit is contained in:
Collin Smith 2019-11-02 14:13:41 -07:00
parent 4d177f1b96
commit ad0aa06a5d
3 changed files with 29 additions and 11 deletions

View File

@ -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;

View File

@ -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;
}
}

View File

@ -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;
}
}