Changed GridMap usage to IntMap
This commit is contained in:
@@ -1,7 +1,7 @@
|
|||||||
#Autogenerated file. Do not modify.
|
#Autogenerated file. Do not modify.
|
||||||
#Mon Apr 16 22:47:36 EDT 2018
|
#Tue Apr 17 09:04:30 EDT 2018
|
||||||
version=release
|
version=release
|
||||||
androidBuildCode=932
|
androidBuildCode=933
|
||||||
name=Mindustry
|
name=Mindustry
|
||||||
code=3.5
|
code=3.5
|
||||||
build=custom build
|
build=custom build
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package io.anuke.mindustry.entities.effect;
|
package io.anuke.mindustry.entities.effect;
|
||||||
|
|
||||||
import com.badlogic.gdx.math.GridPoint2;
|
import com.badlogic.gdx.math.GridPoint2;
|
||||||
|
import com.badlogic.gdx.utils.IntMap;
|
||||||
import io.anuke.mindustry.content.StatusEffects;
|
import io.anuke.mindustry.content.StatusEffects;
|
||||||
import io.anuke.mindustry.content.fx.EnvironmentFx;
|
import io.anuke.mindustry.content.fx.EnvironmentFx;
|
||||||
import io.anuke.mindustry.entities.TileEntity;
|
import io.anuke.mindustry.entities.TileEntity;
|
||||||
@@ -9,13 +10,12 @@ import io.anuke.ucore.core.Effects;
|
|||||||
import io.anuke.ucore.core.Timers;
|
import io.anuke.ucore.core.Timers;
|
||||||
import io.anuke.ucore.entities.TimedEntity;
|
import io.anuke.ucore.entities.TimedEntity;
|
||||||
import io.anuke.ucore.util.Geometry;
|
import io.anuke.ucore.util.Geometry;
|
||||||
import io.anuke.ucore.util.GridMap;
|
|
||||||
import io.anuke.ucore.util.Mathf;
|
import io.anuke.ucore.util.Mathf;
|
||||||
|
|
||||||
import static io.anuke.mindustry.Vars.*;
|
import static io.anuke.mindustry.Vars.*;
|
||||||
|
|
||||||
public class Fire extends TimedEntity {
|
public class Fire extends TimedEntity {
|
||||||
private static final GridMap<Fire> map = new GridMap<>();
|
private static final IntMap<Fire> map = new IntMap<>();
|
||||||
private static final float baseLifetime = 1000f;
|
private static final float baseLifetime = 1000f;
|
||||||
|
|
||||||
private Tile tile;
|
private Tile tile;
|
||||||
@@ -23,10 +23,10 @@ public class Fire extends TimedEntity {
|
|||||||
|
|
||||||
/**Start a fire on the tile. If there already is a file there, refreshes its lifetime..*/
|
/**Start a fire on the tile. If there already is a file there, refreshes its lifetime..*/
|
||||||
public static void create(Tile tile){
|
public static void create(Tile tile){
|
||||||
Fire fire = map.get(tile.x, tile.y);
|
Fire fire = map.get(tile.packedPosition());
|
||||||
|
|
||||||
if(fire == null){
|
if(fire == null){
|
||||||
map.put(tile.x, tile.y, new Fire(tile).add());
|
map.put(tile.packedPosition(), new Fire(tile).add());
|
||||||
}else{
|
}else{
|
||||||
fire.lifetime = baseLifetime;
|
fire.lifetime = baseLifetime;
|
||||||
fire.time = 0f;
|
fire.time = 0f;
|
||||||
@@ -35,8 +35,8 @@ public class Fire extends TimedEntity {
|
|||||||
|
|
||||||
/**Attempts to extinguish a fire by shortening its life. If there is no fire here, does nothing.*/
|
/**Attempts to extinguish a fire by shortening its life. If there is no fire here, does nothing.*/
|
||||||
public static void extinguish(Tile tile, float intensity){
|
public static void extinguish(Tile tile, float intensity){
|
||||||
if(map.containsKey(tile.x, tile.y)){
|
if(map.containsKey(tile.packedPosition())){
|
||||||
map.get(tile.x, tile.y).time += intensity * Timers.delta();
|
map.get(tile.packedPosition()).time += intensity * Timers.delta();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -100,6 +100,6 @@ public class Fire extends TimedEntity {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void removed() {
|
public void removed() {
|
||||||
map.remove(tile.x, tile.y);
|
map.remove(tile.packedPosition());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ package io.anuke.mindustry.entities.effect;
|
|||||||
import com.badlogic.gdx.graphics.Color;
|
import com.badlogic.gdx.graphics.Color;
|
||||||
import com.badlogic.gdx.math.GridPoint2;
|
import com.badlogic.gdx.math.GridPoint2;
|
||||||
import com.badlogic.gdx.math.Rectangle;
|
import com.badlogic.gdx.math.Rectangle;
|
||||||
|
import com.badlogic.gdx.utils.IntMap;
|
||||||
import io.anuke.mindustry.Vars;
|
import io.anuke.mindustry.Vars;
|
||||||
import io.anuke.mindustry.content.blocks.Blocks;
|
import io.anuke.mindustry.content.blocks.Blocks;
|
||||||
import io.anuke.mindustry.content.fx.BlockFx;
|
import io.anuke.mindustry.content.fx.BlockFx;
|
||||||
@@ -18,13 +19,12 @@ import io.anuke.ucore.graphics.Fill;
|
|||||||
import io.anuke.ucore.graphics.Hue;
|
import io.anuke.ucore.graphics.Hue;
|
||||||
import io.anuke.ucore.util.Angles;
|
import io.anuke.ucore.util.Angles;
|
||||||
import io.anuke.ucore.util.Geometry;
|
import io.anuke.ucore.util.Geometry;
|
||||||
import io.anuke.ucore.util.GridMap;
|
|
||||||
import io.anuke.ucore.util.Mathf;
|
import io.anuke.ucore.util.Mathf;
|
||||||
|
|
||||||
import static io.anuke.mindustry.Vars.world;
|
import static io.anuke.mindustry.Vars.world;
|
||||||
|
|
||||||
public class Puddle extends Entity {
|
public class Puddle extends Entity {
|
||||||
private static final GridMap<Puddle> map = new GridMap<>();
|
private static final IntMap<Puddle> map = new IntMap<>();
|
||||||
private static final float maxLiquid = 70f;
|
private static final float maxLiquid = 70f;
|
||||||
private static final int maxGeneration = 2;
|
private static final int maxGeneration = 2;
|
||||||
private static final Color tmp = new Color();
|
private static final Color tmp = new Color();
|
||||||
@@ -48,14 +48,14 @@ public class Puddle extends Entity {
|
|||||||
|
|
||||||
/**Returns the puddle on the specified tile. May return null.*/
|
/**Returns the puddle on the specified tile. May return null.*/
|
||||||
public static Puddle getPuddle(Tile tile){
|
public static Puddle getPuddle(Tile tile){
|
||||||
return map.get(tile.x, tile.y);
|
return map.get(tile.packedPosition());
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void deposit(Tile tile, Tile source, Liquid liquid, float amount, int generation){
|
private static void deposit(Tile tile, Tile source, Liquid liquid, float amount, int generation){
|
||||||
Puddle p = map.get(tile.x, tile.y);
|
Puddle p = map.get(tile.packedPosition());
|
||||||
if(p == null){
|
if(p == null){
|
||||||
Puddle puddle = new Puddle(tile, source, liquid, amount, generation).add();
|
Puddle puddle = new Puddle(tile, source, liquid, amount, generation).add();
|
||||||
map.put(tile.x, tile.y, puddle);
|
map.put(tile.packedPosition(), puddle);
|
||||||
}else if(p.liquid == liquid){
|
}else if(p.liquid == liquid){
|
||||||
p.accepting = Math.max(amount, p.accepting);
|
p.accepting = Math.max(amount, p.accepting);
|
||||||
|
|
||||||
@@ -156,7 +156,7 @@ public class Puddle extends Entity {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void removed() {
|
public void removed() {
|
||||||
map.remove(tile.x, tile.y);
|
map.remove(tile.packedPosition());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
Reference in New Issue
Block a user