Added built-in sandbox map
This commit is contained in:
BIN
core/assets/maps/sandbox.mmap
Normal file
BIN
core/assets/maps/sandbox.mmap
Normal file
Binary file not shown.
Binary file not shown.
@@ -19,7 +19,7 @@ import static io.anuke.mindustry.Vars.*;
|
|||||||
|
|
||||||
public class Maps implements Disposable{
|
public class Maps implements Disposable{
|
||||||
/**List of all built-in maps.*/
|
/**List of all built-in maps.*/
|
||||||
private static final String[] defaultMapNames = {};
|
private static final String[] defaultMapNames = {"sandbox"};
|
||||||
/**Tile format version.*/
|
/**Tile format version.*/
|
||||||
private static final int version = 0;
|
private static final int version = 0;
|
||||||
|
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ import io.anuke.mindustry.game.Team;
|
|||||||
import io.anuke.mindustry.maps.Sector;
|
import io.anuke.mindustry.maps.Sector;
|
||||||
import io.anuke.mindustry.world.Tile;
|
import io.anuke.mindustry.world.Tile;
|
||||||
import io.anuke.mindustry.world.blocks.Floor;
|
import io.anuke.mindustry.world.blocks.Floor;
|
||||||
|
import io.anuke.ucore.noise.Noise;
|
||||||
import io.anuke.ucore.scene.ui.layout.Table;
|
import io.anuke.ucore.scene.ui.layout.Table;
|
||||||
import io.anuke.ucore.util.Bundles;
|
import io.anuke.ucore.util.Bundles;
|
||||||
import io.anuke.ucore.util.Mathf;
|
import io.anuke.ucore.util.Mathf;
|
||||||
@@ -23,19 +24,20 @@ public class WaveMission implements Mission{
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void generate(Tile[][] tiles, Sector sector){
|
public void generate(Tile[][] tiles, Sector sector){
|
||||||
|
Noise.setSeed(0);
|
||||||
int coreX = tiles.length/2, coreY = tiles.length/2;
|
int coreX = tiles.length/2, coreY = tiles.length/2;
|
||||||
float targetElevation = Math.max(tiles[coreX][coreY].getElevation(), 1);
|
float targetElevation = Math.max(tiles[coreX][coreY].getElevation(), 1);
|
||||||
|
|
||||||
int lerpDst = 20;
|
int lerpDst = 20;
|
||||||
for(int x = -lerpDst/2; x <= lerpDst/2; x++){
|
for(int x = -lerpDst; x <= lerpDst; x++){
|
||||||
for(int y = -lerpDst/2; y <= lerpDst/2; y++){
|
for(int y = -lerpDst; y <= lerpDst; y++){
|
||||||
int wx = tiles.length/2 + x, wy = tiles[0].length/2 + y;
|
int wx = tiles.length/2 + x, wy = tiles[0].length/2 + y;
|
||||||
|
|
||||||
float dst = Vector2.dst(wx, wy, coreX, coreY);
|
float dst = Vector2.dst(wx, wy, coreX, coreY);
|
||||||
float elevation = tiles[wx][wy].getElevation();
|
float elevation = tiles[wx][wy].getElevation();
|
||||||
|
|
||||||
if(dst < lerpDst){
|
if(dst < lerpDst){
|
||||||
elevation = Mathf.lerp(elevation, targetElevation, Mathf.clamp(2*(1f-(dst / lerpDst))));
|
elevation = Mathf.lerp(elevation, targetElevation, Mathf.clamp(2*(1f-(dst / lerpDst))) + Noise.nnoise(wx, wy, 8f, 1f));
|
||||||
}
|
}
|
||||||
|
|
||||||
if(tiles[wx][wy].floor().liquidDrop == null){
|
if(tiles[wx][wy].floor().liquidDrop == null){
|
||||||
|
|||||||
Reference in New Issue
Block a user