v0.6.1a: increased the cases where char buff access is synced
This commit is contained in:
parent
347e95ed6b
commit
cae26999c2
|
@ -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<? extends Buff> buffClass ) {
|
||||
public synchronized void remove( Class<? extends Buff> 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 );
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user