Class package refactoring

This commit is contained in:
Anuken 2018-07-14 12:11:48 -04:00
parent 59ade6cf09
commit cfecdae970
47 changed files with 318 additions and 333 deletions

View file

@ -26,7 +26,7 @@ import io.anuke.kryonet.KryoServer;
import io.anuke.mindustry.core.Platform;
import io.anuke.mindustry.core.ThreadHandler.ThreadProvider;
import io.anuke.mindustry.io.SaveIO;
import io.anuke.mindustry.io.Saves.SaveSlot;
import io.anuke.mindustry.game.Saves.SaveSlot;
import io.anuke.mindustry.net.Net;
import io.anuke.mindustry.ui.dialogs.FileChooser;
import io.anuke.ucore.function.Consumer;

View file

@ -3,7 +3,7 @@
<source path="io/anuke/mindustry"/>
<extend-configuration-property name="gdx.reflect.include" value="io.anuke.mindustry.world.Tile"/>
<extend-configuration-property name="gdx.reflect.include" value="io.anuke.mindustry.game.Content"/>
<extend-configuration-property name="gdx.reflect.include" value="io.anuke.mindustry.io.Maps"/>
<extend-configuration-property name="gdx.reflect.include" value="io.anuke.mindustry.maps.Maps"/>
<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.SpawnGroup"/>
<extend-configuration-property name="gdx.reflect.include" value="io.anuke.mindustry.core.GameState"/>

View file

@ -15,7 +15,7 @@ import io.anuke.mindustry.entities.effect.Shield;
import io.anuke.mindustry.entities.traits.SyncTrait;
import io.anuke.mindustry.entities.units.BaseUnit;
import io.anuke.mindustry.game.Team;
import io.anuke.mindustry.io.Version;
import io.anuke.mindustry.game.Version;
import io.anuke.mindustry.net.Net;
import io.anuke.ucore.entities.Entities;
import io.anuke.ucore.entities.EntityGroup;

View file

@ -7,7 +7,7 @@ import io.anuke.mindustry.entities.units.Squad;
import io.anuke.mindustry.game.EventType.WorldLoadEvent;
import io.anuke.mindustry.game.SpawnGroup;
import io.anuke.mindustry.game.Team;
import io.anuke.mindustry.game.WaveCreator;
import io.anuke.mindustry.game.Waves;
import io.anuke.mindustry.world.Tile;
import io.anuke.ucore.core.Events;
import io.anuke.ucore.util.Mathf;
@ -169,7 +169,7 @@ public class WaveSpawner{
quadrants = new Bits(quadWidth() * quadHeight());
if(groups == null){
groups = WaveCreator.getSpawns();
groups = Waves.getSpawns();
}
}

View file

@ -17,8 +17,8 @@ import io.anuke.mindustry.input.DefaultKeybinds;
import io.anuke.mindustry.input.DesktopInput;
import io.anuke.mindustry.input.InputHandler;
import io.anuke.mindustry.input.MobileInput;
import io.anuke.mindustry.io.Map;
import io.anuke.mindustry.io.Saves;
import io.anuke.mindustry.maps.Map;
import io.anuke.mindustry.game.Saves;
import io.anuke.mindustry.net.Net;
import io.anuke.mindustry.type.Recipe;
import io.anuke.mindustry.ui.dialogs.FloatingDialog;

View file

@ -14,7 +14,7 @@ import io.anuke.mindustry.entities.Player;
import io.anuke.mindustry.entities.traits.SyncTrait;
import io.anuke.mindustry.gen.Call;
import io.anuke.mindustry.gen.RemoteReadServer;
import io.anuke.mindustry.io.Version;
import io.anuke.mindustry.game.Version;
import io.anuke.mindustry.net.*;
import io.anuke.mindustry.net.Administration.PlayerInfo;
import io.anuke.mindustry.net.Packets.*;

View file

@ -256,7 +256,7 @@ public class Renderer extends RendererModule{
private void drawFlyerShadows(){
Graphics.surface(effectSurface, true, false);
float trnsX = 12, trnsY = -13;
float trnsX = -12, trnsY = -13;
Graphics.end();
Core.batch.getTransformMatrix().translate(trnsX, trnsY, 0);

View file

@ -11,10 +11,10 @@ import io.anuke.mindustry.core.GameState.State;
import io.anuke.mindustry.game.EventType.TileChangeEvent;
import io.anuke.mindustry.game.EventType.WorldLoadEvent;
import io.anuke.mindustry.game.Team;
import io.anuke.mindustry.io.Map;
import io.anuke.mindustry.maps.Map;
import io.anuke.mindustry.io.MapIO;
import io.anuke.mindustry.io.MapMeta;
import io.anuke.mindustry.io.Maps;
import io.anuke.mindustry.maps.MapMeta;
import io.anuke.mindustry.maps.Maps;
import io.anuke.mindustry.world.Block;
import io.anuke.mindustry.world.Tile;
import io.anuke.mindustry.world.mapgen.WorldGenerator;

View file

@ -2,8 +2,8 @@ package io.anuke.mindustry.editor;
import com.badlogic.gdx.utils.Array;
import com.badlogic.gdx.utils.IntSet;
import io.anuke.mindustry.io.MapTileData;
import io.anuke.mindustry.io.MapTileData.TileDataMarker;
import io.anuke.mindustry.maps.MapTileData;
import io.anuke.mindustry.maps.MapTileData.TileDataMarker;
import io.anuke.ucore.util.Bits;
public class DrawOperation{

View file

@ -3,8 +3,8 @@ package io.anuke.mindustry.editor;
import com.badlogic.gdx.utils.IntArray;
import com.badlogic.gdx.utils.IntSet;
import io.anuke.mindustry.content.blocks.Blocks;
import io.anuke.mindustry.io.MapTileData.DataPosition;
import io.anuke.mindustry.io.MapTileData.TileDataMarker;
import io.anuke.mindustry.maps.MapTileData.DataPosition;
import io.anuke.mindustry.maps.MapTileData.TileDataMarker;
import io.anuke.mindustry.world.Block;
import io.anuke.mindustry.world.blocks.Floor;
import io.anuke.ucore.util.Bits;

View file

@ -5,9 +5,9 @@ import io.anuke.mindustry.Vars;
import io.anuke.mindustry.content.blocks.Blocks;
import io.anuke.mindustry.editor.DrawOperation.TileOperation;
import io.anuke.mindustry.game.Team;
import io.anuke.mindustry.io.MapTileData;
import io.anuke.mindustry.io.MapTileData.DataPosition;
import io.anuke.mindustry.io.MapTileData.TileDataMarker;
import io.anuke.mindustry.maps.MapTileData;
import io.anuke.mindustry.maps.MapTileData.DataPosition;
import io.anuke.mindustry.maps.MapTileData.TileDataMarker;
import io.anuke.mindustry.world.Block;
import io.anuke.mindustry.world.blocks.Floor;
import io.anuke.ucore.util.Bits;

View file

@ -11,10 +11,10 @@ import com.badlogic.gdx.utils.ObjectMap;
import io.anuke.mindustry.content.blocks.StorageBlocks;
import io.anuke.mindustry.core.Platform;
import io.anuke.mindustry.game.Team;
import io.anuke.mindustry.io.Map;
import io.anuke.mindustry.maps.Map;
import io.anuke.mindustry.io.MapIO;
import io.anuke.mindustry.io.MapMeta;
import io.anuke.mindustry.io.MapTileData;
import io.anuke.mindustry.maps.MapMeta;
import io.anuke.mindustry.maps.MapTileData;
import io.anuke.mindustry.type.Recipe;
import io.anuke.mindustry.ui.dialogs.FloatingDialog;
import io.anuke.mindustry.world.Block;

View file

@ -1,6 +1,6 @@
package io.anuke.mindustry.editor;
import io.anuke.mindustry.io.Map;
import io.anuke.mindustry.maps.Map;
import io.anuke.mindustry.ui.BorderImage;
import io.anuke.mindustry.ui.dialogs.FloatingDialog;
import io.anuke.ucore.core.Core;

View file

@ -7,7 +7,7 @@ import com.badlogic.gdx.utils.Disposable;
import com.badlogic.gdx.utils.IntSet;
import com.badlogic.gdx.utils.IntSet.IntSetIterator;
import io.anuke.mindustry.game.Team;
import io.anuke.mindustry.io.MapTileData.DataPosition;
import io.anuke.mindustry.maps.MapTileData.DataPosition;
import io.anuke.mindustry.world.Block;
import io.anuke.ucore.core.Core;
import io.anuke.ucore.core.Graphics;

View file

@ -1,6 +1,6 @@
package io.anuke.mindustry.editor;
import io.anuke.mindustry.io.MapTileData;
import io.anuke.mindustry.maps.MapTileData;
import io.anuke.mindustry.ui.dialogs.FloatingDialog;
import io.anuke.ucore.function.BiConsumer;
import io.anuke.ucore.scene.ui.ButtonGroup;

View file

@ -1,7 +1,7 @@
package io.anuke.mindustry.editor;
import io.anuke.mindustry.core.Platform;
import io.anuke.mindustry.io.Map;
import io.anuke.mindustry.maps.Map;
import io.anuke.mindustry.ui.dialogs.FloatingDialog;
import io.anuke.ucore.function.Consumer;
import io.anuke.ucore.scene.ui.TextButton;

View file

@ -276,7 +276,7 @@ public class Player extends Unit implements BuilderTrait, CarryTrait, ShooterTra
@Override
public void drawShadow(){
Draw.rect(mech.iconRegion, x + elevation * elevationScale, y - elevation * elevationScale, rotation - 90);
Draw.rect(mech.iconRegion, x - elevation * elevationScale, y - elevation * elevationScale, rotation - 90);
}
@Override

View file

@ -125,7 +125,7 @@ public abstract class FlyingUnit extends BaseUnit implements CarryTrait{
@Override
public void drawShadow(){
Draw.rect(type.region, x + elevation * elevationScale, y - elevation * elevationScale, rotation - 90);
Draw.rect(type.region, x - elevation * elevationScale, y - elevation * elevationScale, rotation - 90);
}
@Override

View file

@ -1,11 +1,12 @@
package io.anuke.mindustry.io;
package io.anuke.mindustry.game;
import com.badlogic.gdx.files.FileHandle;
import com.badlogic.gdx.utils.Array;
import io.anuke.mindustry.core.GameState.State;
import io.anuke.mindustry.game.Difficulty;
import io.anuke.mindustry.game.EventType.StateChangeEvent;
import io.anuke.mindustry.game.GameMode;
import io.anuke.mindustry.maps.Map;
import io.anuke.mindustry.io.SaveIO;
import io.anuke.mindustry.io.SaveMeta;
import io.anuke.ucore.core.Events;
import io.anuke.ucore.core.Settings;
import io.anuke.ucore.core.Timers;

View file

@ -1,4 +1,4 @@
package io.anuke.mindustry.io;
package io.anuke.mindustry.game;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.files.FileHandle;

View file

@ -1,190 +0,0 @@
package io.anuke.mindustry.game;
import com.badlogic.gdx.utils.Array;
import io.anuke.mindustry.content.Items;
import io.anuke.mindustry.content.StatusEffects;
import io.anuke.mindustry.content.UnitTypes;
import io.anuke.mindustry.content.Weapons;
import io.anuke.mindustry.type.ItemStack;
public class WaveCreator{
public static Array<SpawnGroup> getSpawns(){
return Array.with(
new SpawnGroup(UnitTypes.scout){{
end = 8;
unitScaling = 2;
}},
new SpawnGroup(UnitTypes.vtol){{
begin = 12;
end = 14;
}},
new SpawnGroup(UnitTypes.scout){{
begin = 11;
unitScaling = 2;
spacing = 2;
max = 4;
}},
new SpawnGroup(UnitTypes.titan){{
begin = 9;
spacing = 3;
unitScaling = 2;
end = 30;
}},
new SpawnGroup(UnitTypes.scout){{
begin = 10;
unitScaling = 2;
unitAmount = 1;
spacing = 2;
ammoItem = Items.tungsten;
end = 30;
}},
new SpawnGroup(UnitTypes.titan){{
begin = 28;
spacing = 3;
unitScaling = 2;
weapon = Weapons.flamethrower;
end = 40;
}},
new SpawnGroup(UnitTypes.titan){{
begin = 45;
spacing = 3;
unitScaling = 2;
weapon = Weapons.flamethrower;
effect = StatusEffects.overdrive;
}},
new SpawnGroup(UnitTypes.titan){{
begin = 120;
spacing = 2;
unitScaling = 3;
unitAmount = 5;
weapon = Weapons.flakgun;
effect = StatusEffects.overdrive;
}},
new SpawnGroup(UnitTypes.vtol){{
begin = 16;
unitScaling = 2;
spacing = 2;
end = 39;
max = 7;
}},
new SpawnGroup(UnitTypes.scout){{
begin = 82;
spacing = 3;
unitAmount = 4;
groupAmount = 2;
unitScaling = 3;
effect = StatusEffects.overdrive;
ammoItem = Items.silicon;
}},
new SpawnGroup(UnitTypes.scout){{
begin = 41;
spacing = 5;
unitAmount = 1;
unitScaling = 3;
effect = StatusEffects.shielded;
ammoItem = Items.thorium;
max = 10;
}},
new SpawnGroup(UnitTypes.scout){{
begin = 35;
spacing = 3;
unitAmount = 4;
groupAmount = 2;
effect = StatusEffects.overdrive;
items = new ItemStack(Items.blastCompound, 60);
end = 60;
}},
new SpawnGroup(UnitTypes.scout){{
begin = 42;
spacing = 3;
unitAmount = 4;
groupAmount = 2;
effect = StatusEffects.overdrive;
items = new ItemStack(Items.pyratite, 100);
end = 130;
}},
new SpawnGroup(UnitTypes.monsoon){{
begin = 40;
ammoItem = Items.blastCompound;
unitAmount = 2;
spacing = 2;
unitScaling = 3;
max = 8;
}},
new SpawnGroup(UnitTypes.vtol){{
begin = 50;
unitAmount = 4;
unitScaling = 3;
spacing = 5;
groupAmount = 2;
effect = StatusEffects.overdrive;
max = 8;
}},
new SpawnGroup(UnitTypes.monsoon){{
begin = 53;
ammoItem = Items.pyratite;
unitAmount = 2;
unitScaling = 3;
spacing = 4;
max = 8;
end = 74;
}},
new SpawnGroup(UnitTypes.monsoon){{
begin = 53;
ammoItem = Items.coal;
unitAmount = 2;
unitScaling = 3;
spacing = 4;
max = 8;
end = 74;
}}
);
}
public static void testWaves(int from, int to){
Array<SpawnGroup> spawns = getSpawns();
for(int i = from; i <= to; i++){
System.out.print(i + ": ");
int total = 0;
for(SpawnGroup spawn : spawns){
int a = spawn.getUnitsSpawned(i) * spawn.getGroupsSpawned(i);
total += a;
if(a > 0){
System.out.print(a + "x" + spawn.type.name);
if(spawn.weapon != null){
System.out.print(":" + spawn.weapon.name);
}
if(spawn.ammoItem != null){
System.out.print(":" + spawn.ammoItem.name);
}
System.out.print(" ");
}
}
System.out.print(" (" + total + ")");
System.out.println();
}
}
}

View file

@ -0,0 +1,190 @@
package io.anuke.mindustry.game;
import com.badlogic.gdx.utils.Array;
import io.anuke.mindustry.content.Items;
import io.anuke.mindustry.content.StatusEffects;
import io.anuke.mindustry.content.UnitTypes;
import io.anuke.mindustry.content.Weapons;
import io.anuke.mindustry.type.ItemStack;
public class Waves{
public static Array<SpawnGroup> getSpawns(){
return Array.with(
new SpawnGroup(UnitTypes.scout){{
end = 8;
unitScaling = 2;
}},
new SpawnGroup(UnitTypes.vtol){{
begin = 12;
end = 14;
}},
new SpawnGroup(UnitTypes.scout){{
begin = 11;
unitScaling = 2;
spacing = 2;
max = 4;
}},
new SpawnGroup(UnitTypes.titan){{
begin = 9;
spacing = 3;
unitScaling = 2;
end = 30;
}},
new SpawnGroup(UnitTypes.scout){{
begin = 10;
unitScaling = 2;
unitAmount = 1;
spacing = 2;
ammoItem = Items.tungsten;
end = 30;
}},
new SpawnGroup(UnitTypes.titan){{
begin = 28;
spacing = 3;
unitScaling = 2;
weapon = Weapons.flamethrower;
end = 40;
}},
new SpawnGroup(UnitTypes.titan){{
begin = 45;
spacing = 3;
unitScaling = 2;
weapon = Weapons.flamethrower;
effect = StatusEffects.overdrive;
}},
new SpawnGroup(UnitTypes.titan){{
begin = 120;
spacing = 2;
unitScaling = 3;
unitAmount = 5;
weapon = Weapons.flakgun;
effect = StatusEffects.overdrive;
}},
new SpawnGroup(UnitTypes.vtol){{
begin = 16;
unitScaling = 2;
spacing = 2;
end = 39;
max = 7;
}},
new SpawnGroup(UnitTypes.scout){{
begin = 82;
spacing = 3;
unitAmount = 4;
groupAmount = 2;
unitScaling = 3;
effect = StatusEffects.overdrive;
ammoItem = Items.silicon;
}},
new SpawnGroup(UnitTypes.scout){{
begin = 41;
spacing = 5;
unitAmount = 1;
unitScaling = 3;
effect = StatusEffects.shielded;
ammoItem = Items.thorium;
max = 10;
}},
new SpawnGroup(UnitTypes.scout){{
begin = 35;
spacing = 3;
unitAmount = 4;
groupAmount = 2;
effect = StatusEffects.overdrive;
items = new ItemStack(Items.blastCompound, 60);
end = 60;
}},
new SpawnGroup(UnitTypes.scout){{
begin = 42;
spacing = 3;
unitAmount = 4;
groupAmount = 2;
effect = StatusEffects.overdrive;
items = new ItemStack(Items.pyratite, 100);
end = 130;
}},
new SpawnGroup(UnitTypes.monsoon){{
begin = 40;
ammoItem = Items.blastCompound;
unitAmount = 2;
spacing = 2;
unitScaling = 3;
max = 8;
}},
new SpawnGroup(UnitTypes.vtol){{
begin = 50;
unitAmount = 4;
unitScaling = 3;
spacing = 5;
groupAmount = 2;
effect = StatusEffects.overdrive;
max = 8;
}},
new SpawnGroup(UnitTypes.monsoon){{
begin = 53;
ammoItem = Items.pyratite;
unitAmount = 2;
unitScaling = 3;
spacing = 4;
max = 8;
end = 74;
}},
new SpawnGroup(UnitTypes.monsoon){{
begin = 53;
ammoItem = Items.coal;
unitAmount = 2;
unitScaling = 3;
spacing = 4;
max = 8;
end = 74;
}}
);
}
public static void testWaves(int from, int to){
Array<SpawnGroup> spawns = getSpawns();
for(int i = from; i <= to; i++){
System.out.print(i + ": ");
int total = 0;
for(SpawnGroup spawn : spawns){
int a = spawn.getUnitsSpawned(i) * spawn.getGroupsSpawned(i);
total += a;
if(a > 0){
System.out.print(a + "x" + spawn.type.name);
if(spawn.weapon != null){
System.out.print(":" + spawn.weapon.name);
}
if(spawn.ammoItem != null){
System.out.print(":" + spawn.ammoItem.name);
}
System.out.print(" ");
}
}
System.out.print(" (" + total + ")");
System.out.println();
}
}
}

View file

@ -8,8 +8,11 @@ import com.badlogic.gdx.utils.ObjectMap;
import com.badlogic.gdx.utils.ObjectMap.Entry;
import io.anuke.mindustry.content.blocks.Blocks;
import io.anuke.mindustry.game.Team;
import io.anuke.mindustry.io.MapTileData.DataPosition;
import io.anuke.mindustry.io.MapTileData.TileDataMarker;
import io.anuke.mindustry.maps.Map;
import io.anuke.mindustry.maps.MapMeta;
import io.anuke.mindustry.maps.MapTileData;
import io.anuke.mindustry.maps.MapTileData.DataPosition;
import io.anuke.mindustry.maps.MapTileData.TileDataMarker;
import io.anuke.mindustry.world.Block;
import io.anuke.mindustry.world.ColorMapper;

View file

@ -3,6 +3,7 @@ package io.anuke.mindustry.io;
import io.anuke.mindustry.core.Platform;
import io.anuke.mindustry.game.Difficulty;
import io.anuke.mindustry.game.GameMode;
import io.anuke.mindustry.maps.Map;
import java.util.Date;

View file

@ -27,9 +27,7 @@ import java.nio.ByteBuffer;
import static io.anuke.mindustry.Vars.*;
/**
* Class for specifying read/write methods for code generation.
*/
/** Class for specifying read/write methods for code generation.*/
public class TypeIO{
@WriteClass(Player.class)

View file

@ -9,9 +9,9 @@ import io.anuke.mindustry.entities.traits.TypeTrait;
import io.anuke.mindustry.game.Difficulty;
import io.anuke.mindustry.game.GameMode;
import io.anuke.mindustry.game.Team;
import io.anuke.mindustry.io.Map;
import io.anuke.mindustry.maps.Map;
import io.anuke.mindustry.io.SaveFileVersion;
import io.anuke.mindustry.io.Version;
import io.anuke.mindustry.game.Version;
import io.anuke.mindustry.world.Block;
import io.anuke.mindustry.world.Tile;
import io.anuke.mindustry.world.blocks.BlockPart;

View file

@ -1,4 +1,4 @@
package io.anuke.mindustry.io;
package io.anuke.mindustry.maps;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.utils.ObjectMap;
@ -7,25 +7,15 @@ import io.anuke.ucore.function.Supplier;
import java.io.InputStream;
public class Map{
/**
* Internal map name. This is the filename, without any extensions.
*/
/** Internal map name. This is the filename, without any extensions.*/
public final String name;
/**
* Whether this is a custom map.
*/
/** Whether this is a custom map.*/
public final boolean custom;
/**
* Metadata. Author description, display name, etc.
*/
/** Metadata. Author description, display name, etc.*/
public final MapMeta meta;
/**
* Supplies a new input stream with the data of this map.
*/
/** Supplies a new input stream with the data of this map.*/
public final Supplier<InputStream> stream;
/**
* Preview texture.
*/
/** Preview texture.*/
public Texture texture;
public Map(String name, MapMeta meta, boolean custom, Supplier<InputStream> streamSupplier){

View file

@ -1,4 +1,4 @@
package io.anuke.mindustry.io;
package io.anuke.mindustry.maps;
import com.badlogic.gdx.utils.IntIntMap;
import com.badlogic.gdx.utils.ObjectMap;

View file

@ -1,4 +1,4 @@
package io.anuke.mindustry.io;
package io.anuke.mindustry.maps;
import com.badlogic.gdx.utils.IntIntMap;
import io.anuke.ucore.util.Bits;

View file

@ -1,4 +1,4 @@
package io.anuke.mindustry.io;
package io.anuke.mindustry.maps;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.files.FileHandle;
@ -7,6 +7,7 @@ import com.badlogic.gdx.utils.Array;
import com.badlogic.gdx.utils.Base64Coder;
import com.badlogic.gdx.utils.Disposable;
import com.badlogic.gdx.utils.ObjectMap;
import io.anuke.mindustry.io.MapIO;
import io.anuke.ucore.core.Settings;
import io.anuke.ucore.function.Supplier;
import io.anuke.ucore.util.Log;
@ -17,46 +18,30 @@ import java.io.*;
import static io.anuke.mindustry.Vars.*;
public class Maps implements Disposable{
/**
* List of all built-in maps.
*/
/**List of all built-in maps.*/
private static final String[] defaultMapNames = {};
/**
* Tile format version.
*/
/**Tile format version.*/
private static final int version = 0;
/**
* Maps map names to the real maps.
*/
/**Maps map names to the real maps.*/
private ObjectMap<String, Map> maps = new ObjectMap<>();
/**
* All maps stored in an ordered array.
*/
/**All maps stored in an ordered array.*/
private Array<Map> allMaps = new ThreadArray<>();
/**
* Temporary array used for returning things.
*/
/**Temporary array used for returning things.*/
private Array<Map> returnArray = new ThreadArray<>();
/**
* Used for storing a list of custom map names for GWT.
*/
/**Used for storing a list of custom map names for GWT.*/
private Array<String> customMapNames;
public Maps(){
}
/**
* Returns a list of all maps, including custom ones.
*/
/**Returns a list of all maps, including custom ones.*/
public Array<Map> all(){
return allMaps;
}
/**
* Returns a list of only custom maps.
*/
/**Returns a list of only custom maps.*/
public Array<Map> customMaps(){
returnArray.clear();
for(Map map : allMaps){
@ -65,9 +50,7 @@ public class Maps implements Disposable{
return returnArray;
}
/**
* Returns a list of only default maps.
*/
/**Returns a list of only default maps.*/
public Array<Map> defaultMaps(){
returnArray.clear();
for(Map map : allMaps){
@ -76,38 +59,32 @@ public class Maps implements Disposable{
return returnArray;
}
/**
* Returns map by internal name.
*/
/**Returns map by internal name.*/
public Map getByName(String name){
return maps.get(name);
}
/**
* Load all maps. Should be called at application start.
*/
/**Load all maps. Should be called at application start.*/
public void load(){
try{
for(String name : defaultMapNames){
try {
for (String name : defaultMapNames) {
FileHandle file = Gdx.files.internal("maps/" + name + "." + mapExtension);
loadMap(file.nameWithoutExtension(), file::read, false);
}
}catch(IOException e){
}catch (IOException e){
throw new RuntimeException(e);
}
loadCustomMaps();
}
/**
* Save a map. This updates all values and stored data necessary.
*/
/**Save a map. This updates all values and stored data necessary.*/
public void saveMap(String name, MapTileData data, ObjectMap<String, String> tags){
try{
if(!gwt){
try {
if (!gwt) {
FileHandle file = customMapDirectory.child(name + "." + mapExtension);
MapIO.writeMap(file.write(false), tags, data);
}else{
} else {
ByteArrayOutputStream stream = new ByteArrayOutputStream();
MapIO.writeMap(stream, tags, data);
Settings.putString("map-data-" + name, new String(Base64Coder.encode(stream.toByteArray())));
@ -119,7 +96,7 @@ public class Maps implements Disposable{
}
if(maps.containsKey(name)){
if(maps.get(name).texture != null){
if(maps.get(name).texture != null) {
maps.get(name).texture.dispose();
maps.get(name).texture = null;
}
@ -127,20 +104,18 @@ public class Maps implements Disposable{
}
Map map = new Map(name, new MapMeta(version, tags, data.width(), data.height(), null), true, getStreamFor(name));
if(!headless){
if (!headless){
map.texture = new Texture(MapIO.generatePixmap(data));
}
allMaps.add(map);
maps.put(name, map);
}catch(IOException e){
}catch (IOException e){
throw new RuntimeException(e);
}
}
/**
* Removes a map completely.
*/
/**Removes a map completely.*/
public void removeMap(Map map){
if(map.texture != null){
map.texture.dispose();
@ -150,9 +125,9 @@ public class Maps implements Disposable{
maps.remove(map.name);
allMaps.removeValue(map, true);
if(!gwt){
if (!gwt) {
customMapDirectory.child(map.name + "." + mapExtension).delete();
}else{
} else {
customMapNames.removeValue(map.name, false);
Settings.putString("map-data-" + map.name, "");
Settings.putJson("custom-maps", customMapNames);
@ -161,11 +136,11 @@ public class Maps implements Disposable{
}
private void loadMap(String name, Supplier<InputStream> supplier, boolean custom) throws IOException{
try(DataInputStream ds = new DataInputStream(supplier.get())){
try(DataInputStream ds = new DataInputStream(supplier.get())) {
MapMeta meta = MapIO.readMapMeta(ds);
Map map = new Map(name, meta, custom, supplier);
if(!headless){
if (!headless){
map.texture = new Texture(MapIO.generatePixmap(MapIO.readTileData(ds, meta, true)));
}
@ -181,7 +156,7 @@ public class Maps implements Disposable{
if(file.extension().equalsIgnoreCase(mapExtension)){
loadMap(file.nameWithoutExtension(), file::read, true);
}
}catch(Exception e){
}catch (Exception e){
Log.err("Failed to load custom map file '{0}'!", file);
Log.err(e);
}
@ -195,7 +170,7 @@ public class Maps implements Disposable{
String data = Settings.getString("map-data-" + name, "");
byte[] bytes = Base64Coder.decode(data);
loadMap(name, () -> new ByteArrayInputStream(bytes), true);
}catch(Exception e){
}catch (Exception e){
Log.err("Failed to load custom map '{0}'!", name);
Log.err(e);
}
@ -203,9 +178,7 @@ public class Maps implements Disposable{
}
}
/**
* Returns an input stream supplier for a given map name.
*/
/**Returns an input stream supplier for a given map name.*/
private Supplier<InputStream> getStreamFor(String name){
if(!gwt){
return customMapDirectory.child(name + "." + mapExtension)::read;
@ -217,7 +190,7 @@ public class Maps implements Disposable{
}
@Override
public void dispose(){
public void dispose() {
}
}
}

View file

@ -0,0 +1,4 @@
package io.anuke.mindustry.maps;
public class Sector{
}

View file

@ -0,0 +1,19 @@
package io.anuke.mindustry.maps;
import io.anuke.ucore.util.GridMap;
public class Sectors{
private GridMap<Sector> grid = new GridMap<>();
public Sectors(){
}
public void load(){
}
public void save(){
}
}

View file

@ -9,9 +9,9 @@ import io.anuke.mindustry.game.GameMode;
import io.anuke.mindustry.game.Team;
import io.anuke.mindustry.game.TeamInfo;
import io.anuke.mindustry.game.TeamInfo.TeamData;
import io.anuke.mindustry.io.Map;
import io.anuke.mindustry.io.MapMeta;
import io.anuke.mindustry.io.Version;
import io.anuke.mindustry.maps.Map;
import io.anuke.mindustry.maps.MapMeta;
import io.anuke.mindustry.game.Version;
import io.anuke.mindustry.world.Tile;
import io.anuke.mindustry.world.blocks.BlockPart;
import io.anuke.ucore.core.Core;

View file

@ -6,7 +6,7 @@ import io.anuke.mindustry.Vars;
import io.anuke.mindustry.entities.Player;
import io.anuke.mindustry.entities.Unit;
import io.anuke.mindustry.entities.traits.BuilderTrait.BuildRequest;
import io.anuke.mindustry.io.Version;
import io.anuke.mindustry.game.Version;
import io.anuke.mindustry.type.Recipe;
import io.anuke.mindustry.world.Tile;
import io.anuke.ucore.io.IOUtils;

View file

@ -5,7 +5,7 @@ import com.badlogic.gdx.utils.Array;
import io.anuke.mindustry.Vars;
import io.anuke.mindustry.io.Changelogs;
import io.anuke.mindustry.io.Changelogs.VersionInfo;
import io.anuke.mindustry.io.Version;
import io.anuke.mindustry.game.Version;
import io.anuke.ucore.core.Settings;
import io.anuke.ucore.scene.ui.ScrollPane;
import io.anuke.ucore.scene.ui.layout.Table;

View file

@ -6,7 +6,7 @@ import com.badlogic.gdx.utils.Array;
import io.anuke.mindustry.Vars;
import io.anuke.mindustry.core.Platform;
import io.anuke.mindustry.entities.Player;
import io.anuke.mindustry.io.Version;
import io.anuke.mindustry.game.Version;
import io.anuke.mindustry.net.Host;
import io.anuke.mindustry.net.Net;
import io.anuke.ucore.core.Settings;

View file

@ -5,7 +5,7 @@ import com.badlogic.gdx.graphics.g2d.TextureRegion;
import com.badlogic.gdx.utils.Align;
import io.anuke.mindustry.game.Difficulty;
import io.anuke.mindustry.game.GameMode;
import io.anuke.mindustry.io.Map;
import io.anuke.mindustry.maps.Map;
import io.anuke.mindustry.ui.BorderImage;
import io.anuke.ucore.core.Settings;
import io.anuke.ucore.core.Timers;

View file

@ -7,7 +7,7 @@ import io.anuke.mindustry.Vars;
import io.anuke.mindustry.core.GameState.State;
import io.anuke.mindustry.core.Platform;
import io.anuke.mindustry.io.SaveIO;
import io.anuke.mindustry.io.Saves.SaveSlot;
import io.anuke.mindustry.game.Saves.SaveSlot;
import io.anuke.ucore.core.Core;
import io.anuke.ucore.core.Timers;
import io.anuke.ucore.scene.ui.ScrollPane;

View file

@ -4,10 +4,10 @@ import com.badlogic.gdx.graphics.Color;
import com.badlogic.gdx.utils.Scaling;
import io.anuke.mindustry.Vars;
import io.anuke.mindustry.core.Platform;
import io.anuke.mindustry.io.Map;
import io.anuke.mindustry.maps.Map;
import io.anuke.mindustry.io.MapIO;
import io.anuke.mindustry.io.MapMeta;
import io.anuke.mindustry.io.MapTileData;
import io.anuke.mindustry.maps.MapMeta;
import io.anuke.mindustry.maps.MapTileData;
import io.anuke.mindustry.ui.BorderImage;
import io.anuke.ucore.scene.event.Touchable;
import io.anuke.ucore.scene.ui.Image;

View file

@ -2,7 +2,7 @@ package io.anuke.mindustry.ui.dialogs;
import com.badlogic.gdx.utils.reflect.ClassReflection;
import io.anuke.mindustry.core.GameState.State;
import io.anuke.mindustry.io.Saves.SaveSlot;
import io.anuke.mindustry.game.Saves.SaveSlot;
import io.anuke.ucore.core.Timers;
import io.anuke.ucore.scene.ui.TextButton;
import io.anuke.ucore.util.Bundles;

View file

@ -4,7 +4,7 @@ import com.badlogic.gdx.Gdx;
import io.anuke.mindustry.core.GameState.State;
import io.anuke.mindustry.core.Platform;
import io.anuke.mindustry.game.EventType.ResizeEvent;
import io.anuke.mindustry.io.Version;
import io.anuke.mindustry.game.Version;
import io.anuke.mindustry.ui.MenuButton;
import io.anuke.mindustry.ui.MobileButton;
import io.anuke.mindustry.ui.dialogs.FloatingDialog;

View file

@ -259,16 +259,12 @@ public abstract class BaseBlock{
tile.setDump((byte) ((tile.getDump() + 1) % prox));
}
/**
* Used for dumping items.
*/
/** Used for dumping items.*/
public boolean canDump(Tile tile, Tile to, Item item){
return true;
}
/**
* Try offloading an item to a nearby container in its facing direction. Returns true if success.
*/
/** Try offloading an item to a nearby container in its facing direction. Returns true if success.*/
public boolean offloadDir(Tile tile, Item item){
Tile other = tile.getNearby(tile.getRotation());
if(other != null && other.block().acceptItem(item, other, tile)){

View file

@ -11,8 +11,8 @@ import io.anuke.mindustry.content.blocks.Blocks;
import io.anuke.mindustry.content.blocks.OreBlocks;
import io.anuke.mindustry.content.blocks.StorageBlocks;
import io.anuke.mindustry.game.Team;
import io.anuke.mindustry.io.MapTileData;
import io.anuke.mindustry.io.MapTileData.TileDataMarker;
import io.anuke.mindustry.maps.MapTileData;
import io.anuke.mindustry.maps.MapTileData.TileDataMarker;
import io.anuke.mindustry.type.Item;
import io.anuke.mindustry.world.Block;
import io.anuke.mindustry.world.Tile;

View file

@ -1,6 +1,6 @@
package io.anuke.mindustry.desktop;
import io.anuke.mindustry.io.Version;
import io.anuke.mindustry.game.Version;
import io.anuke.mindustry.net.Net;
import io.anuke.ucore.core.Settings;
import io.anuke.ucore.util.Strings;

View file

@ -15,7 +15,7 @@ import io.anuke.kryonet.KryoServer;
import io.anuke.mindustry.Mindustry;
import io.anuke.mindustry.core.Platform;
import io.anuke.mindustry.io.SaveIO;
import io.anuke.mindustry.io.Saves.SaveSlot;
import io.anuke.mindustry.game.Saves.SaveSlot;
import io.anuke.mindustry.net.Net;
import io.anuke.ucore.io.BinaryPreferences;
import io.anuke.ucore.util.Bundles;

View file

@ -10,7 +10,7 @@ import io.anuke.kryonet.KryoServer;
import io.anuke.mindustry.core.Platform;
import io.anuke.mindustry.core.ThreadHandler;
import io.anuke.mindustry.io.SaveIO;
import io.anuke.mindustry.io.Saves.SaveSlot;
import io.anuke.mindustry.game.Saves.SaveSlot;
import io.anuke.mindustry.net.Net;
import io.anuke.ucore.scene.ui.TextField;
import io.anuke.ucore.scene.ui.layout.Unit;

View file

@ -10,9 +10,9 @@ import io.anuke.mindustry.game.EventType.GameOverEvent;
import io.anuke.mindustry.game.GameMode;
import io.anuke.mindustry.game.Team;
import io.anuke.mindustry.gen.Call;
import io.anuke.mindustry.io.Map;
import io.anuke.mindustry.maps.Map;
import io.anuke.mindustry.io.SaveIO;
import io.anuke.mindustry.io.Version;
import io.anuke.mindustry.game.Version;
import io.anuke.mindustry.net.*;
import io.anuke.mindustry.net.Administration.PlayerInfo;
import io.anuke.mindustry.net.Packets.KickReason;