BuildTurret save queue
This commit is contained in:
@@ -3,11 +3,13 @@ package mindustry.world.blocks.defense;
|
|||||||
import arc.graphics.g2d.*;
|
import arc.graphics.g2d.*;
|
||||||
import arc.struct.*;
|
import arc.struct.*;
|
||||||
import arc.util.*;
|
import arc.util.*;
|
||||||
|
import arc.util.io.*;
|
||||||
import mindustry.annotations.Annotations.*;
|
import mindustry.annotations.Annotations.*;
|
||||||
import mindustry.entities.units.*;
|
import mindustry.entities.units.*;
|
||||||
import mindustry.game.Teams.*;
|
import mindustry.game.Teams.*;
|
||||||
import mindustry.gen.*;
|
import mindustry.gen.*;
|
||||||
import mindustry.graphics.*;
|
import mindustry.graphics.*;
|
||||||
|
import mindustry.io.*;
|
||||||
import mindustry.type.*;
|
import mindustry.type.*;
|
||||||
import mindustry.world.*;
|
import mindustry.world.*;
|
||||||
import mindustry.world.blocks.*;
|
import mindustry.world.blocks.*;
|
||||||
@@ -29,6 +31,8 @@ public class BuildTurret extends BaseTurret{
|
|||||||
public BuildTurret(String name){
|
public BuildTurret(String name){
|
||||||
super(name);
|
super(name);
|
||||||
group = BlockGroup.turrets;
|
group = BlockGroup.turrets;
|
||||||
|
sync = false;
|
||||||
|
rotateSpeed = 10f;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -42,7 +46,7 @@ public class BuildTurret extends BaseTurret{
|
|||||||
speed = 0f;
|
speed = 0f;
|
||||||
hitSize = 0f;
|
hitSize = 0f;
|
||||||
health = 1;
|
health = 1;
|
||||||
rotateSpeed = 360f;
|
rotateSpeed = BuildTurret.this.rotateSpeed;
|
||||||
itemCapacity = 0;
|
itemCapacity = 0;
|
||||||
commandLimit = 0;
|
commandLimit = 0;
|
||||||
constructor = BlockUnitUnit::create;
|
constructor = BlockUnitUnit::create;
|
||||||
@@ -79,7 +83,8 @@ public class BuildTurret extends BaseTurret{
|
|||||||
unit.lookAt(angleTo(unit.buildPlan()));
|
unit.lookAt(angleTo(unit.buildPlan()));
|
||||||
}
|
}
|
||||||
|
|
||||||
unit.buildSpeedMultiplier(efficiency() * timeScale);
|
//at 0 build speed the unit thinks it can't build, so make it >0
|
||||||
|
unit.buildSpeedMultiplier(Math.max(efficiency() * timeScale, 0.000001f));
|
||||||
|
|
||||||
if(!isControlled()){
|
if(!isControlled()){
|
||||||
unit.updateBuilding(true);
|
unit.updateBuilding(true);
|
||||||
@@ -121,12 +126,12 @@ public class BuildTurret extends BaseTurret{
|
|||||||
unit.drawBuilding();
|
unit.drawBuilding();
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
@Override
|
@Override
|
||||||
public void write(Writes write){
|
public void write(Writes write){
|
||||||
super.write(write);
|
super.write(write);
|
||||||
write.f(rotation);
|
write.f(rotation);
|
||||||
//TODO build queue
|
//TODO queue can be very large due to logic?
|
||||||
|
TypeIO.writeRequests(write, unit.plans().toArray(BuildPlan.class));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -134,6 +139,13 @@ public class BuildTurret extends BaseTurret{
|
|||||||
super.read(read, revision);
|
super.read(read, revision);
|
||||||
rotation = read.f();
|
rotation = read.f();
|
||||||
unit.rotation(rotation);
|
unit.rotation(rotation);
|
||||||
}*/
|
unit.plans().clear();
|
||||||
|
var reqs = TypeIO.readRequests(read);
|
||||||
|
if(reqs != null){
|
||||||
|
for(var req : reqs){
|
||||||
|
unit.plans().add(req);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -24,4 +24,4 @@ android.useAndroidX=true
|
|||||||
#used for slow jitpack builds; TODO see if this actually works
|
#used for slow jitpack builds; TODO see if this actually works
|
||||||
org.gradle.internal.http.socketTimeout=100000
|
org.gradle.internal.http.socketTimeout=100000
|
||||||
org.gradle.internal.http.connectionTimeout=100000
|
org.gradle.internal.http.connectionTimeout=100000
|
||||||
archash=7289b987eb5aae0999f561551d1b3bb50a195dc2
|
archash=ace698cee9e0ea2bc7993ffa44501122bd891b44
|
||||||
|
|||||||
Reference in New Issue
Block a user