From cae26999c22310aae8528ec23d42ae8ada2497d1 Mon Sep 17 00:00:00 2001 From: Evan Debenham Date: Thu, 17 Aug 2017 15:08:43 -0400 Subject: [PATCH] v0.6.1a: increased the cases where char buff access is synced --- .../shatteredpixeldungeon/actors/Char.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/Char.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/Char.java index d5c2f9998..2ee7927ef 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/Char.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/Char.java @@ -339,7 +339,7 @@ public abstract class Char extends Actor { return null; } - public boolean isCharmedBy( Char ch ) { + public synchronized boolean isCharmedBy( Char ch ) { int chID = ch.id(); for (Buff b : buffs) { if (b instanceof Charm && ((Charm)b).object == chID) { @@ -349,7 +349,7 @@ public abstract class Char extends Actor { return false; } - public void add( Buff buff ) { + public synchronized void add( Buff buff ) { buffs.add( buff ); Actor.add( buff ); @@ -368,27 +368,27 @@ public abstract class Char extends Actor { } - public void remove( Buff buff ) { + public synchronized void remove( Buff buff ) { buffs.remove( buff ); Actor.remove( buff ); } - public void remove( Class buffClass ) { + public synchronized void remove( Class buffClass ) { for (Buff buff : buffs( buffClass )) { remove( buff ); } } @Override - protected void onRemove() { + protected synchronized void onRemove() { for (Buff buff : buffs.toArray(new Buff[buffs.size()])) { buff.detach(); } } - public void updateSpriteState() { + public synchronized void updateSpriteState() { for (Buff buff:buffs) { buff.fx( true ); }