Changed GridMap usage to IntMap
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
package io.anuke.mindustry.entities.effect;
|
||||
|
||||
import com.badlogic.gdx.math.GridPoint2;
|
||||
import com.badlogic.gdx.utils.IntMap;
|
||||
import io.anuke.mindustry.content.StatusEffects;
|
||||
import io.anuke.mindustry.content.fx.EnvironmentFx;
|
||||
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.entities.TimedEntity;
|
||||
import io.anuke.ucore.util.Geometry;
|
||||
import io.anuke.ucore.util.GridMap;
|
||||
import io.anuke.ucore.util.Mathf;
|
||||
|
||||
import static io.anuke.mindustry.Vars.*;
|
||||
|
||||
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 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..*/
|
||||
public static void create(Tile tile){
|
||||
Fire fire = map.get(tile.x, tile.y);
|
||||
Fire fire = map.get(tile.packedPosition());
|
||||
|
||||
if(fire == null){
|
||||
map.put(tile.x, tile.y, new Fire(tile).add());
|
||||
map.put(tile.packedPosition(), new Fire(tile).add());
|
||||
}else{
|
||||
fire.lifetime = baseLifetime;
|
||||
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.*/
|
||||
public static void extinguish(Tile tile, float intensity){
|
||||
if(map.containsKey(tile.x, tile.y)){
|
||||
map.get(tile.x, tile.y).time += intensity * Timers.delta();
|
||||
if(map.containsKey(tile.packedPosition())){
|
||||
map.get(tile.packedPosition()).time += intensity * Timers.delta();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -100,6 +100,6 @@ public class Fire extends TimedEntity {
|
||||
|
||||
@Override
|
||||
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.math.GridPoint2;
|
||||
import com.badlogic.gdx.math.Rectangle;
|
||||
import com.badlogic.gdx.utils.IntMap;
|
||||
import io.anuke.mindustry.Vars;
|
||||
import io.anuke.mindustry.content.blocks.Blocks;
|
||||
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.util.Angles;
|
||||
import io.anuke.ucore.util.Geometry;
|
||||
import io.anuke.ucore.util.GridMap;
|
||||
import io.anuke.ucore.util.Mathf;
|
||||
|
||||
import static io.anuke.mindustry.Vars.world;
|
||||
|
||||
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 int maxGeneration = 2;
|
||||
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.*/
|
||||
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){
|
||||
Puddle p = map.get(tile.x, tile.y);
|
||||
Puddle p = map.get(tile.packedPosition());
|
||||
if(p == null){
|
||||
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){
|
||||
p.accepting = Math.max(amount, p.accepting);
|
||||
|
||||
@@ -156,7 +156,7 @@ public class Puddle extends Entity {
|
||||
|
||||
@Override
|
||||
public void removed() {
|
||||
map.remove(tile.x, tile.y);
|
||||
map.remove(tile.packedPosition());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user