v3.0.0: added some sync safety checks to CharSprite
This commit is contained in:
@@ -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 {
|
||||||
|
|||||||
Reference in New Issue
Block a user