Fixed compilation errors

This commit is contained in:
Anuken
2018-03-14 20:15:25 -04:00
parent 1cd30e9057
commit 01ba051c43
26 changed files with 64 additions and 84 deletions
+2 -2
View File
@@ -1,7 +1,7 @@
#Autogenerated file. Do not modify. #Autogenerated file. Do not modify.
#Wed Mar 14 17:58:02 EDT 2018 #Wed Mar 14 20:14:54 EDT 2018
version=release version=release
androidBuildCode=499 androidBuildCode=500
name=Mindustry name=Mindustry
code=3.4 code=3.4
build=custom build build=custom build
+1 -1
View File
@@ -4,7 +4,7 @@
<extend-configuration-property name="gdx.reflect.include" value="io.anuke.mindustry.world.Tile" /> <extend-configuration-property name="gdx.reflect.include" value="io.anuke.mindustry.world.Tile" />
<extend-configuration-property name="gdx.reflect.include" value="io.anuke.mindustry.io.Maps" /> <extend-configuration-property name="gdx.reflect.include" value="io.anuke.mindustry.io.Maps" />
<extend-configuration-property name="gdx.reflect.include" value="io.anuke.mindustry.entities.Player" /> <extend-configuration-property name="gdx.reflect.include" value="io.anuke.mindustry.entities.Player" />
<extend-configuration-property name="gdx.reflect.include" value="io.anuke.mindustry.entities.enemies.BaseUnit" /> <extend-configuration-property name="gdx.reflect.include" value="io.anuke.mindustry.entities.units.BaseUnit" />
<extend-configuration-property name="gdx.reflect.include" value="io.anuke.mindustry.world.Map" /> <extend-configuration-property name="gdx.reflect.include" value="io.anuke.mindustry.world.Map" />
<extend-configuration-property name="gdx.reflect.include" value="io.anuke.mindustry.game.EnemySpawn" /> <extend-configuration-property name="gdx.reflect.include" value="io.anuke.mindustry.game.EnemySpawn" />
<extend-configuration-property name="gdx.reflect.include" value="io.anuke.mindustry.core.GameState" /> <extend-configuration-property name="gdx.reflect.include" value="io.anuke.mindustry.core.GameState" />
+1 -1
View File
@@ -9,7 +9,7 @@ import io.anuke.mindustry.entities.Bullet;
import io.anuke.mindustry.entities.Player; import io.anuke.mindustry.entities.Player;
import io.anuke.mindustry.entities.TileEntity; import io.anuke.mindustry.entities.TileEntity;
import io.anuke.mindustry.entities.effect.Shield; import io.anuke.mindustry.entities.effect.Shield;
import io.anuke.mindustry.entities.enemies.BaseUnit; import io.anuke.mindustry.entities.units.BaseUnit;
import io.anuke.mindustry.io.Platform; import io.anuke.mindustry.io.Platform;
import io.anuke.mindustry.net.ClientDebug; import io.anuke.mindustry.net.ClientDebug;
import io.anuke.mindustry.net.ServerDebug; import io.anuke.mindustry.net.ServerDebug;
+1 -1
View File
@@ -4,7 +4,7 @@ import com.badlogic.gdx.ai.pfa.PathFinderRequest;
import com.badlogic.gdx.ai.pfa.PathSmoother; import com.badlogic.gdx.ai.pfa.PathSmoother;
import com.badlogic.gdx.math.MathUtils; import com.badlogic.gdx.math.MathUtils;
import com.badlogic.gdx.math.Vector2; import com.badlogic.gdx.math.Vector2;
import io.anuke.mindustry.entities.enemies.BaseUnit; import io.anuke.mindustry.entities.units.BaseUnit;
import io.anuke.mindustry.game.SpawnPoint; import io.anuke.mindustry.game.SpawnPoint;
import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.Tile;
import io.anuke.ucore.core.Timers; import io.anuke.ucore.core.Timers;
@@ -3,13 +3,12 @@ package io.anuke.mindustry.core;
import com.badlogic.gdx.graphics.Color; import com.badlogic.gdx.graphics.Color;
import com.badlogic.gdx.utils.IntMap; import com.badlogic.gdx.utils.IntMap;
import com.badlogic.gdx.utils.IntSet; import com.badlogic.gdx.utils.IntSet;
import com.badlogic.gdx.utils.TimeUtils;
import io.anuke.mindustry.core.GameState.State; import io.anuke.mindustry.core.GameState.State;
import io.anuke.mindustry.entities.Bullet; import io.anuke.mindustry.entities.Bullet;
import io.anuke.mindustry.entities.BulletType; import io.anuke.mindustry.entities.BulletType;
import io.anuke.mindustry.entities.Player; import io.anuke.mindustry.entities.Player;
import io.anuke.mindustry.entities.SyncEntity; import io.anuke.mindustry.entities.SyncEntity;
import io.anuke.mindustry.entities.enemies.BaseUnit; import io.anuke.mindustry.entities.units.BaseUnit;
import io.anuke.mindustry.io.Platform; import io.anuke.mindustry.io.Platform;
import io.anuke.mindustry.net.Net; import io.anuke.mindustry.net.Net;
import io.anuke.mindustry.net.Net.SendMode; import io.anuke.mindustry.net.Net.SendMode;
@@ -130,6 +129,7 @@ public class NetClient extends Module {
long time = data.getLong(); long time = data.getLong();
byte groupid = data.get(); byte groupid = data.get();
byte writesize = data.get();
EntityGroup<?> group = Entities.getGroup(groupid); EntityGroup<?> group = Entities.getGroup(groupid);
@@ -148,7 +148,7 @@ public class NetClient extends Module {
req.group = groupid; req.group = groupid;
Net.send(req, SendMode.udp); Net.send(req, SendMode.udp);
} }
data.position(data.position() + SyncEntity.getWriteSize((Class<? extends SyncEntity>) group.getType())); data.position(data.position() + writesize);
} else { } else {
entity.read(data, time); entity.read(data, time);
} }
@@ -322,14 +322,8 @@ public class NetClient extends Module {
void sync(){ void sync(){
if(timer.get(0, playerSyncTime)){ if(timer.get(0, playerSyncTime)){
byte[] bytes = new byte[player.getWriteSize() + 8];
ByteBuffer buffer = ByteBuffer.wrap(bytes);
buffer.putLong(TimeUtils.millis());
player.write(buffer);
PositionPacket packet = new PositionPacket(); PositionPacket packet = new PositionPacket();
packet.data = bytes; packet.player = player;
Net.send(packet, SendMode.udp); Net.send(packet, SendMode.udp);
} }
@@ -42,6 +42,7 @@ public class NetServer extends Module{
private ObjectMap<String, ByteArray> weapons = new ObjectMap<>(); private ObjectMap<String, ByteArray> weapons = new ObjectMap<>();
private boolean closing = false; private boolean closing = false;
private Timer timer = new Timer(5); private Timer timer = new Timer(5);
private ByteBuffer writeBuffer = ByteBuffer.allocate(32);
public NetServer(){ public NetServer(){
@@ -153,11 +154,7 @@ public class NetServer extends Module{
}); });
Net.handleServer(PositionPacket.class, (id, packet) -> { Net.handleServer(PositionPacket.class, (id, packet) -> {
ByteBuffer buffer = ByteBuffer.wrap(packet.data); //...don't do anything here as it's already handled by the packet itself
long time = buffer.getLong();
Player player = connections.get(id);
player.read(buffer, time);
}); });
Net.handleServer(ShootPacket.class, (id, packet) -> { Net.handleServer(ShootPacket.class, (id, packet) -> {
@@ -320,8 +317,12 @@ public class NetServer extends Module{
for(EntityGroup<?> group : Entities.getAllGroups()) { for(EntityGroup<?> group : Entities.getAllGroups()) {
if(group.size() == 0 || !(group.all().iterator().next() instanceof SyncEntity)) continue; if(group.size() == 0 || !(group.all().iterator().next() instanceof SyncEntity)) continue;
((SyncEntity)group.all().get(0)).write(writeBuffer);
//get write size for one entity (adding 4, as you need to write the ID as well) //get write size for one entity (adding 4, as you need to write the ID as well)
int writesize = SyncEntity.getWriteSize((Class<? extends SyncEntity>)group.getType()) + 4; int writesize = writeBuffer.position() + 4;
writeBuffer.position(0);
//amount of entities //amount of entities
int amount = group.size(); int amount = group.size();
//maximum amount of entities per packet //maximum amount of entities per packet
@@ -339,12 +340,14 @@ public class NetServer extends Module{
//calculate amount of entities to go into this packet //calculate amount of entities to go into this packet
int csize = Math.min(amount-i, maxsize); int csize = Math.min(amount-i, maxsize);
//create a byte array to write to //create a byte array to write to
byte[] bytes = new byte[csize*writesize + 1 + 8]; byte[] bytes = new byte[csize*writesize + 1 + 1 + 8];
//wrap it for easy writing //wrap it for easy writing
current = ByteBuffer.wrap(bytes); current = ByteBuffer.wrap(bytes);
current.putLong(TimeUtils.millis()); current.putLong(TimeUtils.millis());
//write the group ID so the client knows which group this is //write the group ID so the client knows which group this is
current.put((byte)group.getID()); current.put((byte)group.getID());
//write size of each entity write here
current.put((byte)writesize);
} }
SyncEntity entity = (SyncEntity) group.all().get(i); SyncEntity entity = (SyncEntity) group.all().get(i);
@@ -15,7 +15,7 @@ import com.badlogic.gdx.utils.Pools;
import io.anuke.mindustry.core.GameState.State; import io.anuke.mindustry.core.GameState.State;
import io.anuke.mindustry.entities.Player; import io.anuke.mindustry.entities.Player;
import io.anuke.mindustry.entities.SyncEntity; import io.anuke.mindustry.entities.SyncEntity;
import io.anuke.mindustry.entities.enemies.BaseUnit; import io.anuke.mindustry.entities.units.BaseUnit;
import io.anuke.mindustry.game.SpawnPoint; import io.anuke.mindustry.game.SpawnPoint;
import io.anuke.mindustry.graphics.BlockRenderer; import io.anuke.mindustry.graphics.BlockRenderer;
import io.anuke.mindustry.graphics.Shaders; import io.anuke.mindustry.graphics.Shaders;
@@ -184,7 +184,7 @@ public class Renderer extends RendererModule{
Graphics.shader(Shaders.outline, false); Graphics.shader(Shaders.outline, false);
Entities.draw(enemyGroup); Entities.draw(enemyGroup);
Entities.draw(playerGroup, p -> !p.isAndroid); Entities.draw(playerGroup, p -> !p.mech.flying);
Graphics.shader(); Graphics.shader();
Entities.draw(Entities.defaultGroup()); Entities.draw(Entities.defaultGroup());
@@ -192,7 +192,7 @@ public class Renderer extends RendererModule{
blocks.drawBlocks(true); blocks.drawBlocks(true);
Graphics.shader(Shaders.outline, false); Graphics.shader(Shaders.outline, false);
Entities.draw(playerGroup, p -> p.isAndroid); Entities.draw(playerGroup, p -> p.mech.flying);
Graphics.shader(); Graphics.shader();
Entities.draw(bulletGroup); Entities.draw(bulletGroup);
@@ -508,7 +508,7 @@ public class Renderer extends RendererModule{
} }
for(Player player : playerGroup.all()){ for(Player player : playerGroup.all()){
if(!player.isDead() && !player.isAndroid) drawHealth(player); if(!player.isDead()) drawHealth(player);
} }
} }
} }
@@ -1,6 +1,6 @@
package io.anuke.mindustry.entities; package io.anuke.mindustry.entities;
import io.anuke.mindustry.entities.enemies.BaseUnit; import io.anuke.mindustry.entities.units.BaseUnit;
import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.Tile;
import io.anuke.ucore.entities.BulletEntity; import io.anuke.ucore.entities.BulletEntity;
import io.anuke.ucore.entities.Entity; import io.anuke.ucore.entities.Entity;
@@ -3,7 +3,7 @@ package io.anuke.mindustry.entities;
import com.badlogic.gdx.graphics.Color; import com.badlogic.gdx.graphics.Color;
import io.anuke.mindustry.entities.effect.DamageArea; import io.anuke.mindustry.entities.effect.DamageArea;
import io.anuke.mindustry.entities.effect.EMP; import io.anuke.mindustry.entities.effect.EMP;
import io.anuke.mindustry.entities.enemies.BaseUnit; import io.anuke.mindustry.entities.units.BaseUnit;
import io.anuke.mindustry.graphics.Fx; import io.anuke.mindustry.graphics.Fx;
import io.anuke.ucore.graphics.Draw; import io.anuke.ucore.graphics.Draw;
import io.anuke.ucore.core.Effects; import io.anuke.ucore.core.Effects;
@@ -76,7 +76,7 @@ public abstract class SyncEntity extends DestructibleEntity{
return (T)this; return (T)this;
} }
private static boolean isSmoothing(){ public static boolean isSmoothing(){
return threads.isEnabled() && threads.getFPS() <= Gdx.graphics.getFramesPerSecond() / 2f; return threads.isEnabled() && threads.getFPS() <= Gdx.graphics.getFramesPerSecond() / 2f;
} }
@@ -1,7 +1,7 @@
package io.anuke.mindustry.entities.effect; package io.anuke.mindustry.entities.effect;
import com.badlogic.gdx.math.Interpolation; import com.badlogic.gdx.math.Interpolation;
import io.anuke.mindustry.entities.enemies.BaseUnit; import io.anuke.mindustry.entities.units.BaseUnit;
import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.Tile;
import io.anuke.mindustry.world.blocks.types.defense.ShieldBlock; import io.anuke.mindustry.world.blocks.types.defense.ShieldBlock;
import io.anuke.ucore.core.Timers; import io.anuke.ucore.core.Timers;
@@ -4,7 +4,7 @@ import com.badlogic.gdx.graphics.Color;
import com.badlogic.gdx.math.Vector2; import com.badlogic.gdx.math.Vector2;
import com.badlogic.gdx.utils.Array; import com.badlogic.gdx.utils.Array;
import com.badlogic.gdx.utils.ObjectSet; import com.badlogic.gdx.utils.ObjectSet;
import io.anuke.mindustry.entities.enemies.BaseUnit; import io.anuke.mindustry.entities.units.BaseUnit;
import io.anuke.mindustry.graphics.Fx; import io.anuke.mindustry.graphics.Fx;
import io.anuke.ucore.core.Effects; import io.anuke.ucore.core.Effects;
import io.anuke.ucore.core.Timers; import io.anuke.ucore.core.Timers;
@@ -1,4 +1,4 @@
package io.anuke.mindustry.entities.enemies; package io.anuke.mindustry.entities.units;
import io.anuke.mindustry.entities.Bullet; import io.anuke.mindustry.entities.Bullet;
import io.anuke.mindustry.entities.Unit; import io.anuke.mindustry.entities.Unit;
@@ -1,4 +1,4 @@
package io.anuke.mindustry.entities.enemies; package io.anuke.mindustry.entities.units;
import com.badlogic.gdx.utils.Array; import com.badlogic.gdx.utils.Array;
import io.anuke.mindustry.entities.BulletType; import io.anuke.mindustry.entities.BulletType;
@@ -1,4 +1,4 @@
package io.anuke.mindustry.entities.enemies; package io.anuke.mindustry.entities.units;
public class UnitTypes { public class UnitTypes {
//TODO list types here. //TODO list types here.
@@ -1,6 +1,6 @@
package io.anuke.mindustry.game; package io.anuke.mindustry.game;
import io.anuke.mindustry.entities.enemies.UnitType; import io.anuke.mindustry.entities.units.UnitType;
import io.anuke.ucore.util.Mathf; import io.anuke.ucore.util.Mathf;
import static io.anuke.mindustry.Vars.state; import static io.anuke.mindustry.Vars.state;
@@ -30,7 +30,8 @@ public class EnemySpawn{
public EnemySpawn(UnitType type){ public EnemySpawn(UnitType type){
this.type = type; this.type = type;
} }
//TODO
public int evaluate(int wave, int lane){ public int evaluate(int wave, int lane){
if(wave < after || wave > before || (wave - after) % spacing != 0){ if(wave < after || wave > before || (wave - after) % spacing != 0){
return 0; return 0;
@@ -41,6 +42,6 @@ public class EnemySpawn{
} }
public int tier(int wave, int lane){ public int tier(int wave, int lane){
return Mathf.clamp(tier + (wave-after)/tierscale, 1, UnitType.maxtier); return Mathf.clamp(tier + (wave-after)/tierscale, 1, 5);
} }
} }
@@ -3,7 +3,7 @@ package io.anuke.mindustry.game;
import io.anuke.mindustry.core.GameState.State; import io.anuke.mindustry.core.GameState.State;
import io.anuke.mindustry.entities.BulletType; import io.anuke.mindustry.entities.BulletType;
import io.anuke.mindustry.entities.TileEntity; import io.anuke.mindustry.entities.TileEntity;
import io.anuke.mindustry.entities.enemies.BaseUnit; import io.anuke.mindustry.entities.units.BaseUnit;
import io.anuke.mindustry.resource.Weapon; import io.anuke.mindustry.resource.Weapon;
import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Block;
import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.Tile;
@@ -1,10 +1,9 @@
package io.anuke.mindustry.io.versions; package io.anuke.mindustry.io.versions;
import com.badlogic.gdx.utils.Array;
import com.badlogic.gdx.utils.IntMap; import com.badlogic.gdx.utils.IntMap;
import com.badlogic.gdx.utils.TimeUtils; import com.badlogic.gdx.utils.TimeUtils;
import io.anuke.mindustry.entities.enemies.BaseUnit; import io.anuke.mindustry.entities.units.BaseUnit;
import io.anuke.mindustry.entities.enemies.UnitType; import io.anuke.mindustry.entities.units.UnitType;
import io.anuke.mindustry.game.Difficulty; import io.anuke.mindustry.game.Difficulty;
import io.anuke.mindustry.game.GameMode; import io.anuke.mindustry.game.GameMode;
import io.anuke.mindustry.io.SaveFileVersion; import io.anuke.mindustry.io.SaveFileVersion;
@@ -120,25 +119,18 @@ public class Save16 extends SaveFileVersion {
int enemies = stream.readInt(); int enemies = stream.readInt();
Array<BaseUnit> enemiesToUpdate = new Array<>();
for(int i = 0; i < enemies; i ++){ for(int i = 0; i < enemies; i ++){
byte type = stream.readByte(); byte type = stream.readByte();
int lane = stream.readByte();
float x = stream.readFloat(); float x = stream.readFloat();
float y = stream.readFloat(); float y = stream.readFloat();
byte tier = stream.readByte();
int health = stream.readShort(); int health = stream.readShort();
try{ try{
BaseUnit enemy = new BaseUnit(UnitType.getByID(type)); BaseUnit enemy = new BaseUnit(UnitType.getByID(type));
enemy.lane = lane;
enemy.health = health; enemy.health = health;
enemy.x = x; enemy.x = x;
enemy.y = y; enemy.y = y;
enemy.tier = tier;
enemy.add(enemyGroup); enemy.add(enemyGroup);
enemiesToUpdate.add(enemy);
}catch (Exception e){ }catch (Exception e){
throw new RuntimeException(e); throw new RuntimeException(e);
} }
@@ -158,10 +150,6 @@ public class Save16 extends SaveFileVersion {
world.loadMap(world.maps().getMap(mapid), seed); world.loadMap(world.maps().getMap(mapid), seed);
if(!headless) renderer.clearTiles(); if(!headless) renderer.clearTiles();
for(BaseUnit enemy : enemiesToUpdate){
enemy.node = -2;
}
int rocks = stream.readInt(); int rocks = stream.readInt();
for(int x = 0; x < world.width(); x ++){ for(int x = 0; x < world.width(); x ++){
@@ -285,10 +273,8 @@ public class Save16 extends SaveFileVersion {
for(int i = 0; i < enemies.size(); i ++){ for(int i = 0; i < enemies.size(); i ++){
BaseUnit enemy = enemies.get(i); BaseUnit enemy = enemies.get(i);
stream.writeByte(enemy.type.id); //type stream.writeByte(enemy.type.id); //type
stream.writeByte(enemy.lane); //lane
stream.writeFloat(enemy.x); //x stream.writeFloat(enemy.x); //x
stream.writeFloat(enemy.y); //y stream.writeFloat(enemy.y); //y
stream.writeByte(enemy.tier); //tier
stream.writeShort(enemy.health); //health stream.writeShort(enemy.health); //health
} }
@@ -4,7 +4,7 @@ import io.anuke.mindustry.Vars;
import io.anuke.mindustry.entities.BulletType; import io.anuke.mindustry.entities.BulletType;
import io.anuke.mindustry.entities.Player; import io.anuke.mindustry.entities.Player;
import io.anuke.mindustry.entities.TileEntity; import io.anuke.mindustry.entities.TileEntity;
import io.anuke.mindustry.entities.enemies.BaseUnit; import io.anuke.mindustry.entities.units.BaseUnit;
import io.anuke.mindustry.net.Net.SendMode; import io.anuke.mindustry.net.Net.SendMode;
import io.anuke.mindustry.net.Packets.*; import io.anuke.mindustry.net.Packets.*;
import io.anuke.mindustry.resource.Weapon; import io.anuke.mindustry.resource.Weapon;
+10 -4
View File
@@ -1,8 +1,10 @@
package io.anuke.mindustry.net; package io.anuke.mindustry.net;
import com.badlogic.gdx.utils.Base64Coder; import com.badlogic.gdx.utils.Base64Coder;
import com.badlogic.gdx.utils.TimeUtils;
import com.badlogic.gdx.utils.reflect.ClassReflection; import com.badlogic.gdx.utils.reflect.ClassReflection;
import com.badlogic.gdx.utils.reflect.ReflectionException; import com.badlogic.gdx.utils.reflect.ReflectionException;
import io.anuke.mindustry.Vars;
import io.anuke.mindustry.entities.Player; import io.anuke.mindustry.entities.Player;
import io.anuke.mindustry.entities.SyncEntity; import io.anuke.mindustry.entities.SyncEntity;
import io.anuke.mindustry.io.Version; import io.anuke.mindustry.io.Version;
@@ -141,17 +143,21 @@ public class Packets {
} }
public static class PositionPacket implements Packet{ public static class PositionPacket implements Packet{
public byte[] data; public Player player;
@Override @Override
public void write(ByteBuffer buffer) { public void write(ByteBuffer buffer) {
buffer.put(data); buffer.putInt(player.id);
buffer.putLong(TimeUtils.millis());
player.write(buffer);
} }
@Override @Override
public void read(ByteBuffer buffer) { public void read(ByteBuffer buffer) {
data = new byte[SyncEntity.getWriteSize(Player.class) + 8]; int id = buffer.getInt();
buffer.get(data); long time = buffer.getLong();
player = Vars.playerGroup.getByID(id);
player.read(buffer, time);
} }
} }
@@ -3,8 +3,6 @@ package io.anuke.mindustry.ui.fragments;
import com.badlogic.gdx.Gdx; import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.files.FileHandle; import com.badlogic.gdx.files.FileHandle;
import io.anuke.mindustry.entities.Player; import io.anuke.mindustry.entities.Player;
import io.anuke.mindustry.entities.enemies.BaseUnit;
import io.anuke.mindustry.entities.enemies.UnitTypes;
import io.anuke.mindustry.net.Net; import io.anuke.mindustry.net.Net;
import io.anuke.ucore.core.Timers; import io.anuke.ucore.core.Timers;
import io.anuke.ucore.scene.builders.button; import io.anuke.ucore.scene.builders.button;
@@ -66,10 +64,6 @@ public class DebugFragment implements Fragment {
netClient.clearRecieved(); netClient.clearRecieved();
}); });
row(); row();
new button("spawn", () -> {
new BaseUnit(UnitTypes.healer).set(player.x, player.y).add();
});
row();
}}.end(); }}.end();
row(); row();
@@ -96,22 +96,21 @@ public class PlayerListFragment implements Fragment{
button.margin(5).marginBottom(10); button.margin(5).marginBottom(10);
Stack stack = new Stack(); Stack stack = new Stack();
BorderImage image = new BorderImage(Draw.region(player.isAndroid ? "ship-standard" : "mech-standard-icon"), 3f); BorderImage image = new BorderImage(Draw.region("mech-" + player.mech.name), 3f);
stack.add(image); stack.add(image);
if(!player.isAndroid) {
stack.add(new Element(){ stack.add(new Element(){
public void draw(){ public void draw(){
float s = getWidth() / 12f; float s = getWidth() / 12f;
for(int i : Mathf.signs){ for(int i : Mathf.signs){
Draw.rect((i < 0 ? player.weaponLeft.name : player.weaponRight.name) Draw.rect((i < 0 ? player.weaponLeft.name : player.weaponRight.name)
+ "-equip", x + s * 6 + i * 3*s, y + s*6 + 2*s, -8*s*i, 8*s); + "-equip", x + s * 6 + i * 3*s, y + s*6 + 2*s, -8*s*i, 8*s);
}
} }
}); }
} });
button.add(stack).size(h); button.add(stack).size(h);
button.labelWrap("[#" + player.getColor().toString().toUpperCase() + "]" + player.name).width(170f).pad(10); button.labelWrap("[#" + player.getColor().toString().toUpperCase() + "]" + player.name).width(170f).pad(10);
button.add().grow(); button.add().grow();
@@ -119,7 +119,7 @@ public class Placement {
if(type.solid || type.solidifes) { if(type.solid || type.solidifes) {
for (Player player : playerGroup.all()) { for (Player player : playerGroup.all()) {
if (!player.isAndroid && rect.overlaps(player.hitbox.getRect(player.x, player.y))) { if (!player.mech.flying && rect.overlaps(player.hitbox.getRect(player.x, player.y))) {
return false; return false;
} }
} }
@@ -4,9 +4,6 @@ import com.badlogic.gdx.graphics.Color;
import com.badlogic.gdx.graphics.Pixmap; import com.badlogic.gdx.graphics.Pixmap;
import com.badlogic.gdx.utils.Array; import com.badlogic.gdx.utils.Array;
import com.badlogic.gdx.utils.ObjectMap; import com.badlogic.gdx.utils.ObjectMap;
import io.anuke.mindustry.Vars;
import io.anuke.mindustry.entities.enemies.BaseUnit;
import io.anuke.mindustry.entities.enemies.UnitTypes;
import io.anuke.mindustry.game.SpawnPoint; import io.anuke.mindustry.game.SpawnPoint;
import io.anuke.mindustry.world.ColorMapper.BlockPair; import io.anuke.mindustry.world.ColorMapper.BlockPair;
import io.anuke.mindustry.world.blocks.Blocks; import io.anuke.mindustry.world.blocks.Blocks;
@@ -15,7 +12,6 @@ import io.anuke.ucore.graphics.Hue;
import io.anuke.ucore.noise.Noise; import io.anuke.ucore.noise.Noise;
import io.anuke.ucore.util.Mathf; import io.anuke.ucore.util.Mathf;
import static io.anuke.mindustry.Vars.tilesize;
import static io.anuke.mindustry.Vars.world; import static io.anuke.mindustry.Vars.world;
public class WorldGenerator { public class WorldGenerator {
@@ -77,7 +73,8 @@ public class WorldGenerator {
} }
if(color == Hue.rgb(Color.PURPLE)){ if(color == Hue.rgb(Color.PURPLE)){
if(!Vars.android) new BaseUnit(UnitTypes.target).set(x * tilesize, y * tilesize).add(); //TODO place unit here
//if(!Vars.android) new BaseUnit(UnitTypes.target).set(x * tilesize, y * tilesize).add();
floor = Blocks.stone; floor = Blocks.stone;
} }
@@ -3,7 +3,7 @@ package io.anuke.mindustry.world.blocks.types.defense;
import com.badlogic.gdx.graphics.Color; import com.badlogic.gdx.graphics.Color;
import com.badlogic.gdx.math.MathUtils; import com.badlogic.gdx.math.MathUtils;
import io.anuke.mindustry.entities.enemies.BaseUnit; import io.anuke.mindustry.entities.units.BaseUnit;
import io.anuke.mindustry.graphics.Fx; import io.anuke.mindustry.graphics.Fx;
import io.anuke.mindustry.world.Layer; import io.anuke.mindustry.world.Layer;
import io.anuke.mindustry.world.Tile; import io.anuke.mindustry.world.Tile;
@@ -4,7 +4,7 @@ import com.badlogic.gdx.graphics.Color;
import io.anuke.mindustry.entities.Bullet; import io.anuke.mindustry.entities.Bullet;
import io.anuke.mindustry.entities.BulletType; import io.anuke.mindustry.entities.BulletType;
import io.anuke.mindustry.entities.TileEntity; import io.anuke.mindustry.entities.TileEntity;
import io.anuke.mindustry.entities.enemies.BaseUnit; import io.anuke.mindustry.entities.units.BaseUnit;
import io.anuke.mindustry.graphics.Fx; import io.anuke.mindustry.graphics.Fx;
import io.anuke.mindustry.resource.Item; import io.anuke.mindustry.resource.Item;
import io.anuke.mindustry.world.*; import io.anuke.mindustry.world.*;