Better IO
This commit is contained in:
@@ -1,12 +1,11 @@
|
||||
package mindustry.entities.def;
|
||||
|
||||
import arc.func.*;
|
||||
import arc.util.io.*;
|
||||
import mindustry.annotations.Annotations.*;
|
||||
import mindustry.entities.*;
|
||||
import mindustry.gen.*;
|
||||
|
||||
import java.io.*;
|
||||
|
||||
import static mindustry.Vars.player;
|
||||
|
||||
@Component
|
||||
@@ -53,11 +52,11 @@ abstract class EntityComp{
|
||||
abstract boolean serialize();
|
||||
|
||||
@MethodPriority(1)
|
||||
void read(DataInput input) throws IOException{
|
||||
void read(Reads read){
|
||||
afterRead();
|
||||
}
|
||||
|
||||
void write(DataOutput output) throws IOException{
|
||||
void write(Writes write){
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ import mindustry.gen.*;
|
||||
|
||||
@Component
|
||||
abstract class MassComp implements Velc{
|
||||
float mass = 1f;
|
||||
transient float mass = 1f;
|
||||
|
||||
public void impulse(float x, float y){
|
||||
vel().add(x / mass, y / mass);
|
||||
|
||||
@@ -5,6 +5,7 @@ import arc.math.geom.*;
|
||||
import arc.struct.*;
|
||||
import arc.util.ArcAnnotate.*;
|
||||
import arc.util.*;
|
||||
import arc.util.io.*;
|
||||
import mindustry.annotations.Annotations.*;
|
||||
import mindustry.game.EventType.*;
|
||||
import mindustry.game.*;
|
||||
@@ -13,8 +14,6 @@ import mindustry.world.*;
|
||||
import mindustry.world.consumers.*;
|
||||
import mindustry.world.modules.*;
|
||||
|
||||
import java.io.*;
|
||||
|
||||
import static mindustry.Vars.*;
|
||||
|
||||
@EntityDef(value = {Tilec.class}, isFinal = false, genio = false, serialize = false)
|
||||
@@ -63,30 +62,30 @@ abstract class TileComp implements Posc, Teamc, Healthc, Tilec, Timerc{
|
||||
}
|
||||
|
||||
@CallSuper
|
||||
public void write(DataOutput output) throws IOException{
|
||||
output.writeFloat(health());
|
||||
output.writeByte(tile.rotation());
|
||||
output.writeByte(tile.getTeamID());
|
||||
if(items != null) items.write(output);
|
||||
if(power != null) power.write(output);
|
||||
if(liquids != null) liquids.write(output);
|
||||
if(cons != null) cons.write(output);
|
||||
public void write(Writes write){
|
||||
write.f(health());
|
||||
write.b(tile.rotation());
|
||||
write.b(tile.getTeamID());
|
||||
if(items != null) items.write(write);
|
||||
if(power != null) power.write(write);
|
||||
if(liquids != null) liquids.write(write);
|
||||
if(cons != null) cons.write(write);
|
||||
}
|
||||
|
||||
@CallSuper
|
||||
@Override
|
||||
public void read(DataInput input, byte revision) throws IOException{
|
||||
health(input.readFloat());
|
||||
byte rotation = input.readByte();
|
||||
byte team = input.readByte();
|
||||
public void read(Reads read, byte revision){
|
||||
health(read.f());
|
||||
byte rotation = read.b();
|
||||
byte team = read.b();
|
||||
|
||||
tile.setTeam(Team.get(team));
|
||||
tile.rotation(rotation);
|
||||
|
||||
if(items != null) items.read(input);
|
||||
if(power != null) power.read(input);
|
||||
if(liquids != null) liquids.read(input);
|
||||
if(cons != null) cons.read(input);
|
||||
if(items != null) items.read(read);
|
||||
if(power != null) power.read(read);
|
||||
if(liquids != null) liquids.read(read);
|
||||
if(cons != null) cons.read(read);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -10,7 +10,7 @@ abstract class VelComp implements Posc{
|
||||
@Import float x, y;
|
||||
|
||||
final Vec2 vel = new Vec2();
|
||||
float drag = 0f;
|
||||
transient float drag = 0f;
|
||||
|
||||
//velocity needs to be called first, as it affects delta and lastPosition
|
||||
@MethodPriority(-1)
|
||||
|
||||
Reference in New Issue
Block a user