Entity name mapping
This commit is contained in:
@@ -1,21 +1,24 @@
|
||||
package mindustry.content;
|
||||
|
||||
import mindustry.ctype.*;
|
||||
import mindustry.gen.*;
|
||||
import mindustry.type.*;
|
||||
|
||||
public class UnitTypes implements ContentList{
|
||||
public static UnitDef
|
||||
draug, spirit, phantom,
|
||||
wraith, ghoul, revenant, lich, reaper,
|
||||
dagger, crawler, titan, fortress, eruptor, chaosArray, eradicator;
|
||||
crawler, titan, fortress, eruptor, chaosArray, eradicator;
|
||||
|
||||
//TODO can't get comp classes
|
||||
public static UnitDef dagger;
|
||||
|
||||
public static UnitDef vanguard, alpha, delta, tau, omega, dart, javelin, trident, glaive;
|
||||
public static UnitDef starter;
|
||||
|
||||
|
||||
@Override
|
||||
public void load(){
|
||||
dagger = new UnitDef("dagger", GenericUnitEntity::create){{
|
||||
dagger = new UnitDef("dagger"){{
|
||||
speed = 0.2f;
|
||||
drag = 0.4f;
|
||||
hitsize = 8f;
|
||||
|
||||
@@ -340,7 +340,7 @@ public class NetClient implements ApplicationListener{
|
||||
|
||||
//entity must not be added yet, so create it
|
||||
if(entity == null){
|
||||
entity = (Syncc)ClassMapping.map(typeID).get();
|
||||
entity = (Syncc)EntityMapping.map(typeID).get();
|
||||
entity.id(id);
|
||||
if(!netClient.isEntityUsed(entity.id())){
|
||||
add = true;
|
||||
|
||||
@@ -138,8 +138,8 @@ abstract class UnitComp implements Healthc, Velc, Statusc, Teamc, Itemsc, Hitbox
|
||||
//ScorchDecal.create(getX(), getY());
|
||||
Fx.explosion.at(this);
|
||||
Effects.shake(2f, 2f, this);
|
||||
type.deathSound.at(this);
|
||||
|
||||
Sounds.bang.at(this);
|
||||
Events.fire(new UnitDestroyEvent(this));
|
||||
|
||||
//TODO implement suicide bomb trigger
|
||||
|
||||
@@ -247,7 +247,7 @@ public abstract class SaveVersion extends SaveFileReader{
|
||||
for(int j = 0; j < amount; j++){
|
||||
readChunk(stream, true, in -> {
|
||||
byte typeid = in.readByte();
|
||||
Syncc sync = (Syncc)ClassMapping.map(typeid).get();
|
||||
Syncc sync = (Syncc)EntityMapping.map(typeid).get();
|
||||
sync.read(in);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -53,13 +53,14 @@ public class UnitDef extends UnlockableContent{
|
||||
public Array<Weapon> weapons = new Array<>();
|
||||
public TextureRegion baseRegion, legRegion, region, cellRegion, occlusionRegion;
|
||||
|
||||
public UnitDef(String name, Prov<Unitc> constructor){
|
||||
super(name);
|
||||
this.constructor = constructor;
|
||||
}
|
||||
|
||||
public UnitDef(String name){
|
||||
this(name, () -> Nulls.unit);
|
||||
super(name);
|
||||
|
||||
if(EntityMapping.map(name) != null){
|
||||
constructor = EntityMapping.map(name);
|
||||
}else{
|
||||
constructor = () -> Nulls.unit;
|
||||
}
|
||||
}
|
||||
|
||||
public UnitController createController(){
|
||||
|
||||
Reference in New Issue
Block a user