Fixed some more synchronization bugs

This commit is contained in:
Anuken
2018-02-19 14:57:43 -05:00
parent ffabdba119
commit 5cc092f58c
4 changed files with 10 additions and 8 deletions

View File

@@ -24,7 +24,7 @@ allprojects {
appName = 'Mindustry' appName = 'Mindustry'
gdxVersion = '1.9.8' gdxVersion = '1.9.8'
aiVersion = '1.8.1' aiVersion = '1.8.1'
uCoreVersion = 'd66ebb6' uCoreVersion = 'a95630d'
getVersionString = { getVersionString = {
String buildVersion = getBuildVersion() String buildVersion = getBuildVersion()

View File

@@ -1,5 +1,5 @@
#Autogenerated file. Do not modify. #Autogenerated file. Do not modify.
#Mon Feb 19 14:44:36 EST 2018 #Mon Feb 19 14:45:40 EST 2018
version=beta version=beta
androidBuildCode=245 androidBuildCode=245
name=Mindustry name=Mindustry

View File

@@ -98,6 +98,7 @@ public abstract class InputHandler extends InputAdapter{
Vector2 offset = type.getPlaceOffset(); Vector2 offset = type.getPlaceOffset();
rect.setCenter(offset.x + x * tilesize, offset.y + y * tilesize); rect.setCenter(offset.x + x * tilesize, offset.y + y * tilesize);
synchronized (Entities.entityLock) {
for (SolidEntity e : Entities.getNearby(enemyGroup, x * tilesize, y * tilesize, tilesize * 2f)) { for (SolidEntity e : Entities.getNearby(enemyGroup, x * tilesize, y * tilesize, tilesize * 2f)) {
if (e == null) continue; //not sure why this happens? if (e == null) continue; //not sure why this happens?
Rectangle rect = e.hitbox.getRect(e.x, e.y); Rectangle rect = e.hitbox.getRect(e.x, e.y);
@@ -106,6 +107,7 @@ public abstract class InputHandler extends InputAdapter{
return false; return false;
} }
} }
}
if(type.solid || type.solidifes) { if(type.solid || type.solidifes) {
for (Player player : playerGroup.all()) { for (Player player : playerGroup.all()) {

View File

@@ -208,7 +208,7 @@ public class Tile{
/**Returns the list of all tiles linked to this multiblock, or an empty array if it's not a multiblock. /**Returns the list of all tiles linked to this multiblock, or an empty array if it's not a multiblock.
* This array contains all linked tiles, including this tile itself.*/ * This array contains all linked tiles, including this tile itself.*/
public Array<Tile> getLinkedTiles(){ public synchronized Array<Tile> getLinkedTiles(){
Block block = block(); Block block = block();
tmpArray.clear(); tmpArray.clear();
if(!(block.width == 1 && block.height == 1)){ if(!(block.width == 1 && block.height == 1)){