v3.0.0: added some sync safety checks to CharSprite

This commit is contained in:
Evan Debenham
2024-10-21 16:13:57 -04:00
parent e1e6c8714b
commit e3f9619c6b
@@ -357,6 +357,7 @@ public class CharSprite extends MovieClip implements Tweener.Listener, MovieClip
} }
public void add( State state ) { public void add( State state ) {
synchronized (State.class) {
switch (state) { switch (state) {
case BURNING: case BURNING:
burning = emitter(); burning = emitter();
@@ -415,8 +416,10 @@ public class CharSprite extends MovieClip implements Tweener.Listener, MovieClip
break; break;
} }
} }
}
public void remove( State state ) { public void remove( State state ) {
synchronized (State.class) {
switch (state) { switch (state) {
case BURNING: case BURNING:
if (burning != null) { if (burning != null) {
@@ -488,6 +491,7 @@ public class CharSprite extends MovieClip implements Tweener.Listener, MovieClip
break; break;
} }
} }
}
public void aura( int color ){ public void aura( int color ){
if (aura != null){ if (aura != null){
@@ -525,6 +529,7 @@ public class CharSprite extends MovieClip implements Tweener.Listener, MovieClip
resetColor(); resetColor();
} }
synchronized (State.class) {
if (burning != null) { if (burning != null) {
burning.visible = visible; burning.visible = visible;
} }
@@ -553,6 +558,7 @@ public class CharSprite extends MovieClip implements Tweener.Listener, MovieClip
aura.visible = visible; aura.visible = visible;
aura.point(center()); aura.point(center());
} }
}
if (sleeping) { if (sleeping) {
showSleep(); showSleep();
} else { } else {