UnitSpawnAbility 'type' field JSON compat / Fixed health bar out of bounds
This commit is contained in:
@@ -15,14 +15,14 @@ import mindustry.ui.*;
|
||||
import static mindustry.Vars.*;
|
||||
|
||||
public class UnitSpawnAbility extends Ability{
|
||||
public UnitType type;
|
||||
public UnitType unit;
|
||||
public float spawnTime = 60f, spawnX, spawnY;
|
||||
public Effect spawnEffect = Fx.spawn;
|
||||
|
||||
protected float timer;
|
||||
|
||||
public UnitSpawnAbility(UnitType type, float spawnTime, float spawnX, float spawnY){
|
||||
this.type = type;
|
||||
public UnitSpawnAbility(UnitType unit, float spawnTime, float spawnX, float spawnY){
|
||||
this.unit = unit;
|
||||
this.spawnTime = spawnTime;
|
||||
this.spawnX = spawnX;
|
||||
this.spawnY = spawnY;
|
||||
@@ -35,10 +35,10 @@ public class UnitSpawnAbility extends Ability{
|
||||
public void update(Unit unit){
|
||||
timer += Time.delta * state.rules.unitBuildSpeedMultiplier;
|
||||
|
||||
if(timer >= spawnTime && Units.canCreate(unit.team, type)){
|
||||
if(timer >= spawnTime && Units.canCreate(unit.team, this.unit)){
|
||||
float x = unit.x + Angles.trnsx(unit.rotation, spawnY, spawnX), y = unit.y + Angles.trnsy(unit.rotation, spawnY, spawnX);
|
||||
spawnEffect.at(x, y);
|
||||
Unit u = type.create(unit.team);
|
||||
Unit u = this.unit.create(unit.team);
|
||||
u.set(x, y);
|
||||
u.rotation = unit.rotation;
|
||||
if(!Vars.net.client()){
|
||||
@@ -51,16 +51,16 @@ public class UnitSpawnAbility extends Ability{
|
||||
|
||||
@Override
|
||||
public void draw(Unit unit){
|
||||
if(Units.canCreate(unit.team, type)){
|
||||
if(Units.canCreate(unit.team, this.unit)){
|
||||
Draw.draw(Draw.z(), () -> {
|
||||
float x = unit.x + Angles.trnsx(unit.rotation, spawnY, spawnX), y = unit.y + Angles.trnsy(unit.rotation, spawnY, spawnX);
|
||||
Drawf.construct(x, y, type.icon(Cicon.full), unit.rotation - 90, timer / spawnTime, 1f, timer);
|
||||
Drawf.construct(x, y, this.unit.icon(Cicon.full), unit.rotation - 90, timer / spawnTime, 1f, timer);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String localized(){
|
||||
return Core.bundle.format("ability.unitspawn", type.localizedName);
|
||||
return Core.bundle.format("ability.unitspawn", unit.localizedName);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -337,7 +337,7 @@ public class Net{
|
||||
*/
|
||||
void discoverServers(Cons<Host> callback, Runnable done);
|
||||
|
||||
/** Ping a host. If an error occured, failed() should be called with the exception. */
|
||||
/** Ping a host. If an error occurred, failed() should be called with the exception. */
|
||||
void pingHost(String address, int port, Cons<Host> valid, Cons<Exception> failed);
|
||||
|
||||
/** Host a server at specified port. */
|
||||
|
||||
@@ -643,6 +643,8 @@ public class HudFragment extends Fragment{
|
||||
|
||||
void drawInner(Color color, float fract){
|
||||
if(fract < 0) return;
|
||||
|
||||
fract = Mathf.clamp(fract);
|
||||
if(flip){
|
||||
x += width;
|
||||
width = -width;
|
||||
|
||||
Reference in New Issue
Block a user