ctrl-shift-f
This commit is contained in:
@@ -13,12 +13,12 @@ import io.anuke.mindustry.game.Team;
|
||||
import io.anuke.mindustry.gen.Call;
|
||||
import io.anuke.mindustry.graphics.Palette;
|
||||
import io.anuke.mindustry.world.Tile;
|
||||
import io.anuke.arc.core.Effects;
|
||||
import io.anuke.arc.core.Effects.Effect;
|
||||
import io.anuke.arc.core.Timers;
|
||||
import io.anuke.arc.Effects;
|
||||
import io.anuke.arc.entities.Effects.Effect;
|
||||
import io.anuke.arc.Timers;
|
||||
import io.anuke.arc.function.Consumer;
|
||||
import io.anuke.arc.function.Predicate;
|
||||
import io.anuke.arc.util.Mathf;
|
||||
import io.anuke.arc.math.Mathf;
|
||||
import io.anuke.arc.util.Physics;
|
||||
import io.anuke.arc.util.Translator;
|
||||
|
||||
@@ -160,7 +160,7 @@ public class Damage{
|
||||
/**Damages all entities and blocks in a radius that are enemies of the team.*/
|
||||
public static void damage(Team team, float x, float y, float radius, float damage){
|
||||
Consumer<Unit> cons = entity -> {
|
||||
if(entity.team == team || entity.distanceTo(x, y) > radius){
|
||||
if(entity.team == team || entity.dst(x, y) > radius){
|
||||
return;
|
||||
}
|
||||
float amount = calculateDamage(x, y, entity.x, entity.y, radius, damage);
|
||||
|
||||
@@ -1,13 +1,26 @@
|
||||
package io.anuke.mindustry.entities;
|
||||
|
||||
import io.anuke.arc.graphics.Color;
|
||||
import io.anuke.arc.graphics.g2d.GlyphLayout;
|
||||
import io.anuke.arc.graphics.g2d.TextureRegion;
|
||||
import io.anuke.arc.math.Rectangle;
|
||||
import io.anuke.arc.math.Vector2;
|
||||
import io.anuke.arc.utils.Queue;
|
||||
import io.anuke.annotations.Annotations.Loc;
|
||||
import io.anuke.annotations.Annotations.Remote;
|
||||
import io.anuke.arc.Core;
|
||||
import io.anuke.arc.Graphics;
|
||||
import io.anuke.arc.collection.Queue;
|
||||
import io.anuke.arc.entities.Effects;
|
||||
import io.anuke.arc.entities.EntityGroup;
|
||||
import io.anuke.arc.entities.EntityQuery;
|
||||
import io.anuke.arc.graphics.Color;
|
||||
import io.anuke.arc.graphics.g2d.Draw;
|
||||
import io.anuke.arc.graphics.g2d.GlyphLayout;
|
||||
import io.anuke.arc.graphics.g2d.Lines;
|
||||
import io.anuke.arc.graphics.g2d.TextureRegion;
|
||||
import io.anuke.arc.math.Mathf;
|
||||
import io.anuke.arc.math.geom.Geometry;
|
||||
import io.anuke.arc.math.geom.Rectangle;
|
||||
import io.anuke.arc.math.geom.Vector2;
|
||||
import io.anuke.arc.util.Bits;
|
||||
import io.anuke.arc.util.Interval;
|
||||
import io.anuke.arc.util.Time;
|
||||
import io.anuke.arc.util.Timer;
|
||||
import io.anuke.mindustry.content.Mechs;
|
||||
import io.anuke.mindustry.content.fx.UnitFx;
|
||||
import io.anuke.mindustry.entities.effect.ScorchDecal;
|
||||
@@ -16,6 +29,7 @@ import io.anuke.mindustry.game.Team;
|
||||
import io.anuke.mindustry.gen.Call;
|
||||
import io.anuke.mindustry.graphics.Palette;
|
||||
import io.anuke.mindustry.graphics.Trail;
|
||||
import io.anuke.mindustry.input.Binding;
|
||||
import io.anuke.mindustry.io.TypeIO;
|
||||
import io.anuke.mindustry.net.Net;
|
||||
import io.anuke.mindustry.net.NetConnection;
|
||||
@@ -24,13 +38,6 @@ import io.anuke.mindustry.world.Block;
|
||||
import io.anuke.mindustry.world.Tile;
|
||||
import io.anuke.mindustry.world.blocks.Floor;
|
||||
import io.anuke.mindustry.world.blocks.storage.CoreBlock.CoreEntity;
|
||||
import io.anuke.arc.core.*;
|
||||
import io.anuke.arc.entities.EntityGroup;
|
||||
import io.anuke.arc.entities.EntityQuery;
|
||||
import io.anuke.arc.graphics.Draw;
|
||||
import io.anuke.arc.graphics.Hue;
|
||||
import io.anuke.arc.graphics.Lines;
|
||||
import io.anuke.arc.util.*;
|
||||
|
||||
import java.io.DataInput;
|
||||
import java.io.DataOutput;
|
||||
@@ -63,7 +70,7 @@ public class Player extends Unit implements BuilderTrait, CarryTrait, ShooterTra
|
||||
public NetConnection con;
|
||||
public int playerIndex = 0;
|
||||
public boolean isLocal = false;
|
||||
public Timer timer = new Timer(4);
|
||||
public Interval timer = new Interval(4);
|
||||
public TargetTrait target;
|
||||
public TargetTrait moveTarget;
|
||||
|
||||
@@ -72,7 +79,7 @@ public class Player extends Unit implements BuilderTrait, CarryTrait, ShooterTra
|
||||
private Tile mining;
|
||||
private CarriableTrait carrying;
|
||||
private Trail trail = new Trail(12);
|
||||
private Vector2 movement = new Translator();
|
||||
private Vector2 movement = new Vector2();
|
||||
private boolean moved;
|
||||
|
||||
//endregion
|
||||
@@ -112,7 +119,7 @@ public class Player extends Unit implements BuilderTrait, CarryTrait, ShooterTra
|
||||
}
|
||||
|
||||
@Override
|
||||
public Timer getTimer(){
|
||||
public Interval getTimer(){
|
||||
return timer;
|
||||
}
|
||||
|
||||
@@ -559,7 +566,7 @@ public class Player extends Unit implements BuilderTrait, CarryTrait, ShooterTra
|
||||
protected void updateMech(){
|
||||
Tile tile = world.tileWorld(x, y);
|
||||
|
||||
isBoosting = Inputs.keyDown("dash") && !mech.flying;
|
||||
isBoosting = Core.input.keyDown("dash") && !mech.flying;
|
||||
|
||||
//if player is in solid block
|
||||
if(tile != null && tile.solid()){
|
||||
@@ -579,7 +586,7 @@ public class Player extends Unit implements BuilderTrait, CarryTrait, ShooterTra
|
||||
}
|
||||
|
||||
//drop from carrier on key press
|
||||
if(!ui.chatfrag.chatOpen() && Inputs.keyTap("drop_unit")){
|
||||
if(!ui.chatfrag.chatOpen() && Core.input.keyTap("drop_unit")){
|
||||
if(!mech.flying){
|
||||
if(getCarrier() != null){
|
||||
Call.dropSelf(this);
|
||||
@@ -599,9 +606,9 @@ public class Player extends Unit implements BuilderTrait, CarryTrait, ShooterTra
|
||||
|
||||
String section = control.input(playerIndex).section;
|
||||
|
||||
float xa = Inputs.getAxis(section, "move_x");
|
||||
float ya = Inputs.getAxis(section, "move_y");
|
||||
if(!Inputs.keyDown("gridMode")){
|
||||
float xa = Core.input.axis(section, "move_x");
|
||||
float ya = Core.input.axis(section, "move_y");
|
||||
if(!Core.input.keyDown(Binding.gridMode)){
|
||||
movement.y += ya * speed;
|
||||
movement.x += xa * speed;
|
||||
}
|
||||
@@ -619,7 +626,7 @@ public class Player extends Unit implements BuilderTrait, CarryTrait, ShooterTra
|
||||
}
|
||||
float prex = x, prey = y;
|
||||
updateVelocityStatus();
|
||||
moved = distanceTo(prex, prey) > 0.001f;
|
||||
moved = dst(prex, prey) > 0.001f;
|
||||
}else{
|
||||
velocity.setZero();
|
||||
x = Mathf.lerpDelta(x, getCarrier().getX(), 0.1f);
|
||||
@@ -647,7 +654,7 @@ public class Player extends Unit implements BuilderTrait, CarryTrait, ShooterTra
|
||||
|
||||
protected void updateFlying(){
|
||||
if(Units.invalidateTarget(target, this) && !(target instanceof TileEntity && ((TileEntity) target).damaged() && target.getTeam() == team &&
|
||||
mech.canHeal && distanceTo(target) < getWeapon().getAmmo().getRange())){
|
||||
mech.canHeal && dst(target) < getWeapon().getAmmo().getRange())){
|
||||
target = null;
|
||||
}
|
||||
|
||||
@@ -664,7 +671,7 @@ public class Player extends Unit implements BuilderTrait, CarryTrait, ShooterTra
|
||||
velocity.setAngle(Mathf.slerpDelta(velocity.angle(), angleTo(moveTarget), 0.1f));
|
||||
}
|
||||
|
||||
if(distanceTo(moveTarget) < 2f){
|
||||
if(dst(moveTarget) < 2f){
|
||||
if(moveTarget instanceof CarriableTrait){
|
||||
carry((CarriableTrait) moveTarget);
|
||||
}else if(tapping){
|
||||
@@ -687,7 +694,7 @@ public class Player extends Unit implements BuilderTrait, CarryTrait, ShooterTra
|
||||
movement.set(targetX - x, targetY - y).limit(isBoosting && !mech.flying ? mech.boostSpeed : mech.speed);
|
||||
movement.setAngle(Mathf.slerp(movement.angle(), velocity.angle(), 0.05f));
|
||||
|
||||
if(distanceTo(targetX, targetY) < attractDst){
|
||||
if(dst(targetX, targetY) < attractDst){
|
||||
movement.setZero();
|
||||
}
|
||||
|
||||
@@ -699,7 +706,7 @@ public class Player extends Unit implements BuilderTrait, CarryTrait, ShooterTra
|
||||
rect.width += expansion * 2f;
|
||||
rect.height += expansion * 2f;
|
||||
|
||||
isBoosting = EntityQuery.collisions().overlapsTile(rect) || distanceTo(targetX, targetY) > 85f;
|
||||
isBoosting = EntityQuery.collisions().overlapsTile(rect) || dst(targetX, targetY) > 85f;
|
||||
|
||||
velocity.add(movement.scl(Time.delta()));
|
||||
|
||||
@@ -711,7 +718,7 @@ public class Player extends Unit implements BuilderTrait, CarryTrait, ShooterTra
|
||||
|
||||
float lx = x, ly = y;
|
||||
updateVelocityStatus();
|
||||
moved = distanceTo(lx, ly) > 0.001f && !isCarried();
|
||||
moved = dst(lx, ly) > 0.001f && !isCarried();
|
||||
|
||||
if(mech.flying){
|
||||
//hovering effect
|
||||
@@ -731,7 +738,7 @@ public class Player extends Unit implements BuilderTrait, CarryTrait, ShooterTra
|
||||
|
||||
if(mech.canHeal && target == null){
|
||||
target = Geometry.findClosest(x, y, world.indexer.getDamaged(Team.blue));
|
||||
if(target != null && distanceTo(target) > getWeapon().getAmmo().getRange()){
|
||||
if(target != null && dst(target) > getWeapon().getAmmo().getRange()){
|
||||
target = null;
|
||||
}else if(target != null){
|
||||
target = ((Tile) target).entity;
|
||||
@@ -743,7 +750,7 @@ public class Player extends Unit implements BuilderTrait, CarryTrait, ShooterTra
|
||||
}
|
||||
}
|
||||
}else if(target.isValid() || (target instanceof TileEntity && ((TileEntity) target).damaged() && target.getTeam() == team &&
|
||||
mech.canHeal && distanceTo(target) < getWeapon().getAmmo().getRange())){
|
||||
mech.canHeal && dst(target) < getWeapon().getAmmo().getRange())){
|
||||
//rotate toward and shoot the target
|
||||
if(mech.turnCursor){
|
||||
rotation = Mathf.slerpDelta(rotation, angleTo(target), 0.2f);
|
||||
|
||||
@@ -2,7 +2,7 @@ package io.anuke.mindustry.entities;
|
||||
|
||||
import io.anuke.arc.math.Vector2;
|
||||
import io.anuke.mindustry.entities.traits.TargetTrait;
|
||||
import io.anuke.arc.util.Mathf;
|
||||
import io.anuke.arc.math.Mathf;
|
||||
|
||||
/**
|
||||
* Class for predicting shoot angles based on velocities of targets.
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
package io.anuke.mindustry.entities;
|
||||
|
||||
import io.anuke.arc.graphics.Color;
|
||||
import io.anuke.arc.utils.Array;
|
||||
import io.anuke.arc.collection.Array;
|
||||
import io.anuke.mindustry.content.StatusEffects;
|
||||
import io.anuke.mindustry.entities.traits.Saveable;
|
||||
import io.anuke.mindustry.type.ContentType;
|
||||
import io.anuke.mindustry.type.StatusEffect;
|
||||
import io.anuke.arc.core.Timers;
|
||||
import io.anuke.arc.Timers;
|
||||
import io.anuke.arc.util.Pooling;
|
||||
import io.anuke.arc.util.ThreadArray;
|
||||
import io.anuke.arc.util.Tmp;
|
||||
|
||||
@@ -1,11 +1,18 @@
|
||||
package io.anuke.mindustry.entities;
|
||||
|
||||
import io.anuke.arc.math.GridPoint2;
|
||||
import io.anuke.arc.math.Vector2;
|
||||
import io.anuke.arc.utils.Array;
|
||||
import io.anuke.arc.utils.ObjectSet;
|
||||
import io.anuke.annotations.Annotations.Loc;
|
||||
import io.anuke.annotations.Annotations.Remote;
|
||||
import io.anuke.arc.collection.Array;
|
||||
import io.anuke.arc.collection.ObjectSet;
|
||||
import io.anuke.arc.entities.Effects;
|
||||
import io.anuke.arc.entities.EntityGroup;
|
||||
import io.anuke.arc.entities.impl.BaseEntity;
|
||||
import io.anuke.arc.entities.trait.HealthTrait;
|
||||
import io.anuke.arc.math.Mathf;
|
||||
import io.anuke.arc.math.geom.GridPoint2;
|
||||
import io.anuke.arc.math.geom.Vector2;
|
||||
import io.anuke.arc.util.Interval;
|
||||
import io.anuke.arc.util.Time;
|
||||
import io.anuke.mindustry.content.fx.Fx;
|
||||
import io.anuke.mindustry.entities.bullet.Bullet;
|
||||
import io.anuke.mindustry.entities.traits.TargetTrait;
|
||||
@@ -20,13 +27,6 @@ import io.anuke.mindustry.world.modules.ConsumeModule;
|
||||
import io.anuke.mindustry.world.modules.ItemModule;
|
||||
import io.anuke.mindustry.world.modules.LiquidModule;
|
||||
import io.anuke.mindustry.world.modules.PowerModule;
|
||||
import io.anuke.arc.core.Effects;
|
||||
import io.anuke.arc.core.Timers;
|
||||
import io.anuke.arc.entities.EntityGroup;
|
||||
import io.anuke.arc.entities.impl.BaseEntity;
|
||||
import io.anuke.arc.entities.trait.HealthTrait;
|
||||
import io.anuke.arc.util.Mathf;
|
||||
import io.anuke.arc.util.Timer;
|
||||
|
||||
import java.io.DataInput;
|
||||
import java.io.DataOutput;
|
||||
@@ -42,7 +42,7 @@ public class TileEntity extends BaseEntity implements TargetTrait, HealthTrait{
|
||||
public static int sleepingEntities = 0;
|
||||
|
||||
public Tile tile;
|
||||
public Timer timer;
|
||||
public Interval timer;
|
||||
public float health;
|
||||
public float timeScale = 1f, timeScaleDuration;
|
||||
|
||||
@@ -78,7 +78,7 @@ public class TileEntity extends BaseEntity implements TargetTrait, HealthTrait{
|
||||
|
||||
health = tile.block().health;
|
||||
|
||||
timer = new Timer(tile.block().timers);
|
||||
timer = new Interval(tile.block().timers);
|
||||
|
||||
if(added){
|
||||
add();
|
||||
|
||||
@@ -1,9 +1,20 @@
|
||||
package io.anuke.mindustry.entities;
|
||||
|
||||
import io.anuke.arc.Core;
|
||||
import io.anuke.arc.entities.Effects;
|
||||
import io.anuke.arc.entities.impl.DestructibleEntity;
|
||||
import io.anuke.arc.entities.trait.DamageTrait;
|
||||
import io.anuke.arc.entities.trait.DrawTrait;
|
||||
import io.anuke.arc.entities.trait.SolidTrait;
|
||||
import io.anuke.arc.graphics.Color;
|
||||
import io.anuke.arc.graphics.g2d.Draw;
|
||||
import io.anuke.arc.graphics.g2d.Fill;
|
||||
import io.anuke.arc.graphics.g2d.TextureRegion;
|
||||
import io.anuke.arc.math.Rectangle;
|
||||
import io.anuke.arc.math.Vector2;
|
||||
import io.anuke.arc.math.Mathf;
|
||||
import io.anuke.arc.math.geom.Geometry;
|
||||
import io.anuke.arc.math.geom.Rectangle;
|
||||
import io.anuke.arc.math.geom.Vector2;
|
||||
import io.anuke.arc.util.Time;
|
||||
import io.anuke.mindustry.content.blocks.Blocks;
|
||||
import io.anuke.mindustry.entities.traits.*;
|
||||
import io.anuke.mindustry.game.Team;
|
||||
@@ -15,16 +26,6 @@ import io.anuke.mindustry.type.Weapon;
|
||||
import io.anuke.mindustry.world.Pos;
|
||||
import io.anuke.mindustry.world.Tile;
|
||||
import io.anuke.mindustry.world.blocks.Floor;
|
||||
import io.anuke.arc.core.Effects;
|
||||
import io.anuke.arc.core.Timers;
|
||||
import io.anuke.arc.entities.impl.DestructibleEntity;
|
||||
import io.anuke.arc.entities.trait.DamageTrait;
|
||||
import io.anuke.arc.entities.trait.DrawTrait;
|
||||
import io.anuke.arc.entities.trait.SolidTrait;
|
||||
import io.anuke.arc.graphics.Draw;
|
||||
import io.anuke.arc.graphics.Fill;
|
||||
import io.anuke.arc.util.Geometry;
|
||||
import io.anuke.arc.util.Mathf;
|
||||
|
||||
import java.io.DataInput;
|
||||
import java.io.DataOutput;
|
||||
@@ -194,7 +195,7 @@ public abstract class Unit extends DestructibleEntity implements SaveTrait, Targ
|
||||
|
||||
Units.getNearby(queryRect, t -> {
|
||||
if(t == this || t.getCarrier() == this || getCarrier() == t || t.isFlying() != isFlying()) return;
|
||||
float dst = distanceTo(t);
|
||||
float dst = dst(t);
|
||||
moveVector.set(x, y).sub(t.getX(), t.getY()).setLength(1f * (1f - (dst / queryRect.getWidth())));
|
||||
applyImpulse(moveVector.x, moveVector.y);
|
||||
});
|
||||
@@ -324,7 +325,7 @@ public abstract class Unit extends DestructibleEntity implements SaveTrait, Targ
|
||||
}
|
||||
|
||||
public TextureRegion getPowerCellRegion(){
|
||||
return Draw.region("power-cell");
|
||||
return Core.atlas.find("power-cell");
|
||||
}
|
||||
|
||||
public void drawAll(){
|
||||
|
||||
@@ -1,18 +1,18 @@
|
||||
package io.anuke.mindustry.entities;
|
||||
|
||||
import io.anuke.arc.math.Rectangle;
|
||||
import io.anuke.arc.math.Vector2;
|
||||
import io.anuke.arc.collection.EnumSet;
|
||||
import io.anuke.arc.entities.EntityGroup;
|
||||
import io.anuke.arc.entities.EntityQuery;
|
||||
import io.anuke.arc.function.Consumer;
|
||||
import io.anuke.arc.function.Predicate;
|
||||
import io.anuke.arc.math.geom.Geometry;
|
||||
import io.anuke.arc.math.geom.Rectangle;
|
||||
import io.anuke.arc.math.geom.Vector2;
|
||||
import io.anuke.mindustry.entities.traits.TargetTrait;
|
||||
import io.anuke.mindustry.entities.units.BaseUnit;
|
||||
import io.anuke.mindustry.game.Team;
|
||||
import io.anuke.mindustry.world.Block;
|
||||
import io.anuke.mindustry.world.Tile;
|
||||
import io.anuke.arc.entities.EntityGroup;
|
||||
import io.anuke.arc.entities.EntityQuery;
|
||||
import io.anuke.arc.function.Consumer;
|
||||
import io.anuke.arc.function.Predicate;
|
||||
import io.anuke.arc.util.EnumSet;
|
||||
import io.anuke.arc.util.Geometry;
|
||||
|
||||
import static io.anuke.mindustry.Vars.*;
|
||||
|
||||
@@ -38,7 +38,7 @@ public class Units{
|
||||
* @return whether the target is invalid
|
||||
*/
|
||||
public static boolean invalidateTarget(TargetTrait target, Team team, float x, float y, float range){
|
||||
return target == null || (range != Float.MAX_VALUE && target.distanceTo(x, y) > range) || target.getTeam() == team || !target.isValid();
|
||||
return target == null || (range != Float.MAX_VALUE && target.dst(x, y) > range) || target.getTeam() == team || !target.isValid();
|
||||
}
|
||||
|
||||
/**See {@link #invalidateTarget(TargetTrait, Team, float, float, float)}*/
|
||||
@@ -221,7 +221,7 @@ public class Units{
|
||||
EntityGroup<BaseUnit> group = unitGroups[team.ordinal()];
|
||||
if(!group.isEmpty()){
|
||||
EntityQuery.getNearby(group, rect, entity -> {
|
||||
if(entity.distanceTo(x, y) <= radius){
|
||||
if(entity.dst(x, y) <= radius){
|
||||
cons.accept((Unit) entity);
|
||||
}
|
||||
});
|
||||
@@ -229,7 +229,7 @@ public class Units{
|
||||
|
||||
//now check all players
|
||||
EntityQuery.getNearby(playerGroup, rect, player -> {
|
||||
if(((Unit) player).team == team && player.distanceTo(x, y) <= radius){
|
||||
if(((Unit) player).team == team && player.dst(x, y) <= radius){
|
||||
cons.accept((Unit) player);
|
||||
}
|
||||
});
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
package io.anuke.mindustry.entities.bullet;
|
||||
|
||||
import io.anuke.mindustry.content.fx.BulletFx;
|
||||
import io.anuke.arc.core.Effects;
|
||||
import io.anuke.arc.core.Effects.Effect;
|
||||
import io.anuke.arc.Effects;
|
||||
import io.anuke.arc.entities.Effects.Effect;
|
||||
import io.anuke.arc.graphics.Draw;
|
||||
|
||||
//TODO scale velocity depending on fslope()
|
||||
|
||||
@@ -6,11 +6,11 @@ import io.anuke.mindustry.entities.Damage;
|
||||
import io.anuke.mindustry.entities.Units;
|
||||
import io.anuke.mindustry.entities.traits.TargetTrait;
|
||||
import io.anuke.mindustry.graphics.Palette;
|
||||
import io.anuke.arc.core.Effects;
|
||||
import io.anuke.arc.core.Timers;
|
||||
import io.anuke.arc.Effects;
|
||||
import io.anuke.arc.Timers;
|
||||
import io.anuke.arc.graphics.Draw;
|
||||
import io.anuke.arc.util.Angles;
|
||||
import io.anuke.arc.util.Mathf;
|
||||
import io.anuke.arc.math.Mathf;
|
||||
|
||||
/**
|
||||
* A BulletType for most ammo-based bullets shot from turrets and units.
|
||||
@@ -47,8 +47,8 @@ public class BasicBulletType extends BulletType{
|
||||
|
||||
@Override
|
||||
public void load(){
|
||||
backRegion = Draw.region(bulletSprite + "-back");
|
||||
frontRegion = Draw.region(bulletSprite);
|
||||
backRegion = Core.atlas.find(bulletSprite + "-back");
|
||||
frontRegion = Core.atlas.find(bulletSprite);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -10,13 +10,13 @@ import io.anuke.mindustry.entities.traits.SyncTrait;
|
||||
import io.anuke.mindustry.entities.traits.TeamTrait;
|
||||
import io.anuke.mindustry.game.Team;
|
||||
import io.anuke.mindustry.world.Tile;
|
||||
import io.anuke.arc.core.Timers;
|
||||
import io.anuke.arc.Timers;
|
||||
import io.anuke.arc.entities.EntityGroup;
|
||||
import io.anuke.arc.entities.impl.BulletEntity;
|
||||
import io.anuke.arc.entities.trait.Entity;
|
||||
import io.anuke.arc.entities.trait.SolidTrait;
|
||||
import io.anuke.arc.entities.trait.VelocityTrait;
|
||||
import io.anuke.arc.util.Mathf;
|
||||
import io.anuke.arc.math.Mathf;
|
||||
import io.anuke.arc.util.Pooling;
|
||||
import io.anuke.arc.util.Timer;
|
||||
|
||||
|
||||
@@ -6,8 +6,8 @@ import io.anuke.mindustry.game.Content;
|
||||
import io.anuke.mindustry.type.ContentType;
|
||||
import io.anuke.mindustry.type.StatusEffect;
|
||||
import io.anuke.mindustry.world.Tile;
|
||||
import io.anuke.arc.core.Effects;
|
||||
import io.anuke.arc.core.Effects.Effect;
|
||||
import io.anuke.arc.Effects;
|
||||
import io.anuke.arc.entities.Effects.Effect;
|
||||
import io.anuke.arc.entities.impl.BaseBulletType;
|
||||
import io.anuke.arc.util.Translator;
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ package io.anuke.mindustry.entities.bullet;
|
||||
import io.anuke.arc.math.Rectangle;
|
||||
import io.anuke.mindustry.content.fx.BulletFx;
|
||||
import io.anuke.mindustry.entities.Units;
|
||||
import io.anuke.arc.core.Timers;
|
||||
import io.anuke.arc.Timers;
|
||||
|
||||
public abstract class FlakBulletType extends BasicBulletType{
|
||||
protected static Rectangle rect = new Rectangle();
|
||||
@@ -27,7 +27,7 @@ public abstract class FlakBulletType extends BasicBulletType{
|
||||
Units.getNearbyEnemies(b.getTeam(), rect.setSize(explodeRange*2f).setCenter(b.x, b.y), unit -> {
|
||||
if(b.getData() instanceof Float) return;
|
||||
|
||||
if(unit.distanceTo(b) < explodeRange){
|
||||
if(unit.dst(b) < explodeRange){
|
||||
b.setData(0);
|
||||
Time.run(5f, () -> {
|
||||
if(b.getData() instanceof Integer){
|
||||
|
||||
@@ -8,11 +8,11 @@ import io.anuke.mindustry.entities.effect.Fire;
|
||||
import io.anuke.mindustry.entities.effect.Puddle;
|
||||
import io.anuke.mindustry.type.Liquid;
|
||||
import io.anuke.mindustry.world.Tile;
|
||||
import io.anuke.arc.core.Effects;
|
||||
import io.anuke.arc.Effects;
|
||||
import io.anuke.arc.graphics.Draw;
|
||||
import io.anuke.arc.graphics.Fill;
|
||||
import io.anuke.arc.util.Geometry;
|
||||
import io.anuke.arc.util.Mathf;
|
||||
import io.anuke.arc.math.Mathf;
|
||||
|
||||
import static io.anuke.mindustry.Vars.tilesize;
|
||||
import static io.anuke.mindustry.Vars.world;
|
||||
|
||||
@@ -3,9 +3,9 @@ package io.anuke.mindustry.entities.bullet;
|
||||
import io.anuke.arc.graphics.Color;
|
||||
import io.anuke.mindustry.content.fx.BulletFx;
|
||||
import io.anuke.mindustry.graphics.Palette;
|
||||
import io.anuke.arc.core.Effects;
|
||||
import io.anuke.arc.core.Timers;
|
||||
import io.anuke.arc.util.Mathf;
|
||||
import io.anuke.arc.Effects;
|
||||
import io.anuke.arc.Timers;
|
||||
import io.anuke.arc.math.Mathf;
|
||||
|
||||
public class MissileBulletType extends BasicBulletType{
|
||||
protected Color trailColor = Palette.missileYellowBack;
|
||||
|
||||
@@ -6,7 +6,7 @@ import io.anuke.arc.entities.EntityGroup;
|
||||
import io.anuke.arc.entities.impl.TimedEntity;
|
||||
import io.anuke.arc.entities.trait.DrawTrait;
|
||||
import io.anuke.arc.graphics.Draw;
|
||||
import io.anuke.arc.util.Mathf;
|
||||
import io.anuke.arc.math.Mathf;
|
||||
|
||||
import static io.anuke.mindustry.Vars.groundEffectGroup;
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
package io.anuke.mindustry.entities.effect;
|
||||
|
||||
import io.anuke.arc.math.GridPoint2;
|
||||
import io.anuke.arc.utils.IntMap;
|
||||
import io.anuke.arc.utils.Pool.Poolable;
|
||||
import io.anuke.arc.util.IntMap;
|
||||
import io.anuke.arc.util.Pool.Poolable;
|
||||
import io.anuke.annotations.Annotations.Loc;
|
||||
import io.anuke.annotations.Annotations.Remote;
|
||||
import io.anuke.mindustry.content.StatusEffects;
|
||||
@@ -16,13 +16,13 @@ import io.anuke.mindustry.gen.Call;
|
||||
import io.anuke.mindustry.net.Net;
|
||||
import io.anuke.mindustry.world.Block;
|
||||
import io.anuke.mindustry.world.Tile;
|
||||
import io.anuke.arc.core.Effects;
|
||||
import io.anuke.arc.core.Timers;
|
||||
import io.anuke.arc.Effects;
|
||||
import io.anuke.arc.Timers;
|
||||
import io.anuke.arc.entities.EntityGroup;
|
||||
import io.anuke.arc.entities.impl.TimedEntity;
|
||||
import io.anuke.arc.util.Structs;
|
||||
import io.anuke.arc.util.Geometry;
|
||||
import io.anuke.arc.util.Mathf;
|
||||
import io.anuke.arc.math.Mathf;
|
||||
import io.anuke.arc.util.Pooling;
|
||||
|
||||
import java.io.DataInput;
|
||||
|
||||
@@ -2,12 +2,12 @@ package io.anuke.mindustry.entities.effect;
|
||||
|
||||
import io.anuke.mindustry.Vars;
|
||||
import io.anuke.mindustry.world.Tile;
|
||||
import io.anuke.arc.core.Effects;
|
||||
import io.anuke.arc.core.Effects.Effect;
|
||||
import io.anuke.arc.core.Timers;
|
||||
import io.anuke.arc.Effects;
|
||||
import io.anuke.arc.entities.Effects.Effect;
|
||||
import io.anuke.arc.Timers;
|
||||
import io.anuke.arc.entities.impl.EffectEntity;
|
||||
import io.anuke.arc.core.Effects.EffectRenderer;
|
||||
import io.anuke.arc.util.Mathf;
|
||||
import io.anuke.arc.Effects.EffectRenderer;
|
||||
import io.anuke.arc.math.Mathf;
|
||||
|
||||
/**
|
||||
* A ground effect contains an effect that is rendered on the ground layer as opposed to the top layer.
|
||||
|
||||
@@ -11,9 +11,9 @@ import io.anuke.arc.graphics.Fill;
|
||||
import io.anuke.arc.graphics.Lines;
|
||||
import io.anuke.arc.math.Interpolation;
|
||||
import io.anuke.arc.math.Vector2;
|
||||
import io.anuke.arc.util.Mathf;
|
||||
import io.anuke.arc.math.Mathf;
|
||||
import io.anuke.arc.util.Pooling;
|
||||
import io.anuke.arc.utils.Time;
|
||||
import io.anuke.arc.util.Time;
|
||||
import io.anuke.mindustry.entities.Unit;
|
||||
import io.anuke.mindustry.graphics.Palette;
|
||||
import io.anuke.mindustry.type.Item;
|
||||
|
||||
@@ -2,8 +2,8 @@ package io.anuke.mindustry.entities.effect;
|
||||
|
||||
import io.anuke.arc.graphics.Color;
|
||||
import io.anuke.arc.math.Rectangle;
|
||||
import io.anuke.arc.utils.Array;
|
||||
import io.anuke.arc.utils.IntSet;
|
||||
import io.anuke.arc.collection.Array;
|
||||
import io.anuke.arc.util.IntSet;
|
||||
import io.anuke.annotations.Annotations.Loc;
|
||||
import io.anuke.annotations.Annotations.Remote;
|
||||
import io.anuke.mindustry.content.bullets.TurretBullets;
|
||||
@@ -21,7 +21,6 @@ import io.anuke.arc.entities.trait.PosTrait;
|
||||
import io.anuke.arc.entities.trait.TimeTrait;
|
||||
import io.anuke.arc.graphics.Draw;
|
||||
import io.anuke.arc.graphics.Lines;
|
||||
import io.anuke.arc.util.*;
|
||||
|
||||
import java.io.DataInput;
|
||||
import java.io.DataOutput;
|
||||
|
||||
@@ -3,8 +3,8 @@ package io.anuke.mindustry.entities.effect;
|
||||
import io.anuke.arc.graphics.Color;
|
||||
import io.anuke.arc.math.GridPoint2;
|
||||
import io.anuke.arc.math.Rectangle;
|
||||
import io.anuke.arc.utils.IntMap;
|
||||
import io.anuke.arc.utils.Pool.Poolable;
|
||||
import io.anuke.arc.util.IntMap;
|
||||
import io.anuke.arc.util.Pool.Poolable;
|
||||
import io.anuke.annotations.Annotations.Loc;
|
||||
import io.anuke.annotations.Annotations.Remote;
|
||||
import io.anuke.mindustry.content.Liquids;
|
||||
@@ -19,8 +19,8 @@ import io.anuke.mindustry.gen.Call;
|
||||
import io.anuke.mindustry.net.Net;
|
||||
import io.anuke.mindustry.type.Liquid;
|
||||
import io.anuke.mindustry.world.Tile;
|
||||
import io.anuke.arc.core.Effects;
|
||||
import io.anuke.arc.core.Timers;
|
||||
import io.anuke.arc.Effects;
|
||||
import io.anuke.arc.Timers;
|
||||
import io.anuke.arc.entities.EntityGroup;
|
||||
import io.anuke.arc.entities.impl.SolidEntity;
|
||||
import io.anuke.arc.entities.trait.DrawTrait;
|
||||
@@ -29,7 +29,7 @@ import io.anuke.arc.graphics.Fill;
|
||||
import io.anuke.arc.graphics.Hue;
|
||||
import io.anuke.arc.util.Angles;
|
||||
import io.anuke.arc.util.Geometry;
|
||||
import io.anuke.arc.util.Mathf;
|
||||
import io.anuke.arc.math.Mathf;
|
||||
import io.anuke.arc.util.Pooling;
|
||||
|
||||
import java.io.DataInput;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package io.anuke.mindustry.entities.effect;
|
||||
|
||||
import io.anuke.arc.graphics.Draw;
|
||||
import io.anuke.arc.util.Mathf;
|
||||
import io.anuke.arc.math.Mathf;
|
||||
|
||||
public class RubbleDecal extends Decal{
|
||||
private int size;
|
||||
|
||||
@@ -4,7 +4,7 @@ import io.anuke.arc.graphics.g2d.TextureRegion;
|
||||
import io.anuke.mindustry.world.Tile;
|
||||
import io.anuke.arc.graphics.Draw;
|
||||
import io.anuke.arc.util.Angles;
|
||||
import io.anuke.arc.util.Mathf;
|
||||
import io.anuke.arc.math.Mathf;
|
||||
|
||||
import static io.anuke.mindustry.Vars.world;
|
||||
|
||||
@@ -15,7 +15,7 @@ public class ScorchDecal extends Decal{
|
||||
public static void create(float x, float y){
|
||||
if(regions[0] == null){
|
||||
for(int i = 0; i < regions.length; i++){
|
||||
regions[i] = Draw.region("scorch" + (i + 1));
|
||||
regions[i] = Core.atlas.find("scorch" + (i + 1));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -2,8 +2,8 @@ package io.anuke.mindustry.entities.traits;
|
||||
|
||||
import io.anuke.arc.Core;
|
||||
import io.anuke.arc.graphics.Color;
|
||||
import io.anuke.arc.utils.Array;
|
||||
import io.anuke.arc.utils.Queue;
|
||||
import io.anuke.arc.collection.Array;
|
||||
import io.anuke.arc.util.Queue;
|
||||
import io.anuke.mindustry.Vars;
|
||||
import io.anuke.mindustry.content.blocks.Blocks;
|
||||
import io.anuke.mindustry.content.fx.BlockFx;
|
||||
@@ -21,16 +21,16 @@ import io.anuke.mindustry.world.Pos;
|
||||
import io.anuke.mindustry.world.Tile;
|
||||
import io.anuke.mindustry.world.blocks.BuildBlock;
|
||||
import io.anuke.mindustry.world.blocks.BuildBlock.BuildEntity;
|
||||
import io.anuke.arc.core.Effects;
|
||||
import io.anuke.arc.core.Events;
|
||||
import io.anuke.arc.core.Timers;
|
||||
import io.anuke.arc.Effects;
|
||||
import io.anuke.arc.Events;
|
||||
import io.anuke.arc.Timers;
|
||||
import io.anuke.arc.entities.trait.Entity;
|
||||
import io.anuke.arc.graphics.Draw;
|
||||
import io.anuke.arc.graphics.Fill;
|
||||
import io.anuke.arc.graphics.Lines;
|
||||
import io.anuke.arc.graphics.Shapes;
|
||||
import io.anuke.arc.util.Angles;
|
||||
import io.anuke.arc.util.Mathf;
|
||||
import io.anuke.arc.math.Mathf;
|
||||
|
||||
import java.io.DataInput;
|
||||
import java.io.DataOutput;
|
||||
@@ -202,7 +202,7 @@ public interface BuilderTrait extends Entity{
|
||||
|
||||
Tile tile = world.tile(current.x, current.y);
|
||||
|
||||
if(unit.distanceTo(tile) > placeDistance){
|
||||
if(unit.dst(tile) > placeDistance){
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -232,7 +232,7 @@ public interface BuilderTrait extends Entity{
|
||||
return;
|
||||
}
|
||||
|
||||
if(unit.distanceTo(tile) <= placeDistance){
|
||||
if(unit.dst(tile) <= placeDistance){
|
||||
unit.rotation = Mathf.slerpDelta(unit.rotation, unit.angleTo(entity), 0.4f);
|
||||
}
|
||||
|
||||
@@ -261,7 +261,7 @@ public interface BuilderTrait extends Entity{
|
||||
Tile tile = getMineTile();
|
||||
TileEntity core = unit.getClosestCore();
|
||||
|
||||
if(core == null || tile.block() != Blocks.air || unit.distanceTo(tile.worldx(), tile.worldy()) > mineDistance
|
||||
if(core == null || tile.block() != Blocks.air || unit.dst(tile.worldx(), tile.worldy()) > mineDistance
|
||||
|| tile.floor().drops == null || !unit.inventory.canAcceptItem(tile.floor().drops.item) || !canMine(tile.floor().drops.item)){
|
||||
setMineTile(null);
|
||||
}else{
|
||||
@@ -270,7 +270,7 @@ public interface BuilderTrait extends Entity{
|
||||
|
||||
if(Mathf.chance(Time.delta() * (0.06 - item.hardness * 0.01) * getMinePower())){
|
||||
|
||||
if(unit.distanceTo(core) < mineTransferRange && core.tile.block().acceptStack(item, 1, core.tile, unit) == 1){
|
||||
if(unit.dst(core) < mineTransferRange && core.tile.block().acceptStack(item, 1, core.tile, unit) == 1){
|
||||
Call.transferItemTo(item, 1,
|
||||
tile.worldx() + Mathf.range(tilesize / 2f),
|
||||
tile.worldy() + Mathf.range(tilesize / 2f), core.tile);
|
||||
@@ -304,7 +304,7 @@ public interface BuilderTrait extends Entity{
|
||||
|
||||
Tile tile = world.tile(request.x, request.y);
|
||||
|
||||
if(unit.distanceTo(tile) > placeDistance){
|
||||
if(unit.dst(tile) > placeDistance){
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ import io.anuke.annotations.Annotations.Remote;
|
||||
import io.anuke.mindustry.content.fx.UnitFx;
|
||||
import io.anuke.mindustry.entities.Player;
|
||||
import io.anuke.mindustry.gen.Call;
|
||||
import io.anuke.arc.core.Effects;
|
||||
import io.anuke.arc.Effects;
|
||||
import io.anuke.arc.entities.trait.SolidTrait;
|
||||
|
||||
public interface CarryTrait extends TeamTrait, SolidTrait, TargetTrait{
|
||||
|
||||
@@ -2,7 +2,7 @@ package io.anuke.mindustry.entities.traits;
|
||||
|
||||
import io.anuke.mindustry.core.NetClient;
|
||||
import io.anuke.mindustry.net.Interpolator;
|
||||
import io.anuke.arc.core.Core;
|
||||
import io.anuke.arc.Core;
|
||||
import io.anuke.arc.entities.trait.Entity;
|
||||
import io.anuke.arc.util.Tmp;
|
||||
|
||||
|
||||
@@ -24,8 +24,8 @@ import io.anuke.mindustry.type.Weapon;
|
||||
import io.anuke.mindustry.world.Tile;
|
||||
import io.anuke.mindustry.world.blocks.units.CommandCenter.CommandCenterEntity;
|
||||
import io.anuke.mindustry.world.meta.BlockFlag;
|
||||
import io.anuke.arc.core.Effects;
|
||||
import io.anuke.arc.core.Timers;
|
||||
import io.anuke.arc.Effects;
|
||||
import io.anuke.arc.Timers;
|
||||
import io.anuke.arc.entities.EntityGroup;
|
||||
import io.anuke.arc.graphics.Draw;
|
||||
import io.anuke.arc.util.*;
|
||||
|
||||
@@ -10,7 +10,7 @@ import io.anuke.mindustry.net.Net;
|
||||
import io.anuke.mindustry.type.AmmoType;
|
||||
import io.anuke.mindustry.world.Tile;
|
||||
import io.anuke.mindustry.world.meta.BlockFlag;
|
||||
import io.anuke.arc.core.Timers;
|
||||
import io.anuke.arc.Timers;
|
||||
import io.anuke.arc.graphics.Draw;
|
||||
import io.anuke.arc.util.*;
|
||||
|
||||
|
||||
@@ -12,10 +12,10 @@ import io.anuke.mindustry.type.ContentType;
|
||||
import io.anuke.mindustry.type.Weapon;
|
||||
import io.anuke.mindustry.world.Tile;
|
||||
import io.anuke.mindustry.world.blocks.Floor;
|
||||
import io.anuke.arc.core.Timers;
|
||||
import io.anuke.arc.Timers;
|
||||
import io.anuke.arc.graphics.Draw;
|
||||
import io.anuke.arc.util.Angles;
|
||||
import io.anuke.arc.util.Mathf;
|
||||
import io.anuke.arc.math.Mathf;
|
||||
import io.anuke.arc.util.Translator;
|
||||
|
||||
import java.io.DataInput;
|
||||
|
||||
@@ -5,7 +5,7 @@ import io.anuke.mindustry.content.Items;
|
||||
import io.anuke.mindustry.entities.TileEntity;
|
||||
import io.anuke.mindustry.gen.Call;
|
||||
import io.anuke.mindustry.type.Item;
|
||||
import io.anuke.arc.util.Mathf;
|
||||
import io.anuke.arc.math.Mathf;
|
||||
|
||||
public class UnitDrops{
|
||||
private static Item[] dropTable;
|
||||
|
||||
@@ -2,7 +2,7 @@ package io.anuke.mindustry.entities.units;
|
||||
|
||||
import io.anuke.arc.graphics.Color;
|
||||
import io.anuke.arc.graphics.g2d.TextureRegion;
|
||||
import io.anuke.arc.utils.ObjectSet;
|
||||
import io.anuke.arc.collection.ObjectSet;
|
||||
import io.anuke.mindustry.content.Items;
|
||||
import io.anuke.mindustry.content.Weapons;
|
||||
import io.anuke.mindustry.entities.traits.TypeTrait;
|
||||
@@ -78,12 +78,12 @@ public class UnitType extends UnlockableContent{
|
||||
|
||||
@Override
|
||||
public void load(){
|
||||
iconRegion = Draw.region("unit-icon-" + name);
|
||||
region = Draw.region(name);
|
||||
iconRegion = Core.atlas.find("unit-icon-" + name);
|
||||
region = Core.atlas.find(name);
|
||||
|
||||
if(!isFlying){
|
||||
legRegion = Draw.region(name + "-leg");
|
||||
baseRegion = Draw.region(name + "-base");
|
||||
legRegion = Core.atlas.find(name + "-leg");
|
||||
baseRegion = Core.atlas.find(name + "-base");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -15,8 +15,8 @@ import io.anuke.mindustry.entities.units.UnitState;
|
||||
import io.anuke.mindustry.gen.Call;
|
||||
import io.anuke.mindustry.net.Net;
|
||||
import io.anuke.mindustry.type.AmmoType;
|
||||
import io.anuke.arc.core.Effects;
|
||||
import io.anuke.arc.util.Mathf;
|
||||
import io.anuke.arc.Effects;
|
||||
import io.anuke.arc.math.Mathf;
|
||||
|
||||
import java.io.DataInput;
|
||||
import java.io.DataOutput;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package io.anuke.mindustry.entities.units.types;
|
||||
|
||||
import io.anuke.arc.utils.Queue;
|
||||
import io.anuke.arc.util.Queue;
|
||||
import io.anuke.mindustry.content.blocks.Blocks;
|
||||
import io.anuke.mindustry.entities.Player;
|
||||
import io.anuke.mindustry.entities.TileEntity;
|
||||
@@ -20,10 +20,10 @@ import io.anuke.mindustry.world.Tile;
|
||||
import io.anuke.mindustry.world.blocks.BuildBlock;
|
||||
import io.anuke.mindustry.world.blocks.BuildBlock.BuildEntity;
|
||||
import io.anuke.mindustry.world.meta.BlockFlag;
|
||||
import io.anuke.arc.core.Events;
|
||||
import io.anuke.arc.Events;
|
||||
import io.anuke.arc.entities.EntityGroup;
|
||||
import io.anuke.arc.util.Geometry;
|
||||
import io.anuke.arc.util.Mathf;
|
||||
import io.anuke.arc.math.Mathf;
|
||||
import io.anuke.arc.util.Structs;
|
||||
|
||||
import java.io.DataInput;
|
||||
@@ -108,7 +108,7 @@ public class Drone extends FlyingUnit implements BuilderTrait{
|
||||
|
||||
if(target == null) return;
|
||||
|
||||
if(target.distanceTo(Drone.this) > type.range){
|
||||
if(target.dst(Drone.this) > type.range){
|
||||
circle(type.range*0.9f);
|
||||
}else{
|
||||
getWeapon().update(Drone.this, target.getX(), target.getY());
|
||||
@@ -254,7 +254,7 @@ public class Drone extends FlyingUnit implements BuilderTrait{
|
||||
}
|
||||
|
||||
private void notifyPlaced(BuildEntity entity, boolean isBreaking){
|
||||
float dist = Math.min(entity.distanceTo(x, y) - placeDistance, 0);
|
||||
float dist = Math.min(entity.dst(x, y) - placeDistance, 0);
|
||||
|
||||
if(!state.is(build) && dist / type.maxVelocity < entity.buildCost * 0.9f){
|
||||
target = entity;
|
||||
@@ -311,7 +311,7 @@ public class Drone extends FlyingUnit implements BuilderTrait{
|
||||
|
||||
@Override
|
||||
protected void updateRotation(){
|
||||
if(target != null && ((state.is(repair) && target.distanceTo(this) < type.range) || state.is(mine))){
|
||||
if(target != null && ((state.is(repair) && target.dst(this) < type.range) || state.is(mine))){
|
||||
rotation = Mathf.slerpDelta(rotation, angleTo(target), 0.3f);
|
||||
}else{
|
||||
rotation = Mathf.slerpDelta(rotation, velocity.angle(), 0.3f);
|
||||
|
||||
Reference in New Issue
Block a user