v0.9.0: fixed a freeze bug caused by a race condition on DM-300's sprite
This commit is contained in:
parent
2a48f2e944
commit
0913c65d81
|
@ -461,6 +461,7 @@ public class NewDM300 extends Mob {
|
|||
spend(3f);
|
||||
yell(Messages.get(this, "charging"));
|
||||
sprite.showStatus(CharSprite.POSITIVE, Messages.get(this, "invulnerable"));
|
||||
((DM300Sprite)sprite).updateChargeState(true);
|
||||
((DM300Sprite)sprite).charge();
|
||||
chargeAnnounced = false;
|
||||
|
||||
|
@ -472,7 +473,7 @@ public class NewDM300 extends Mob {
|
|||
|
||||
public void loseSupercharge(){
|
||||
supercharged = false;
|
||||
sprite.resetColor();
|
||||
((DM300Sprite)sprite).updateChargeState(false);
|
||||
|
||||
if (pylonsActivated < 2){
|
||||
yell(Messages.get(this, "charge_lost"));
|
||||
|
|
|
@ -45,10 +45,12 @@ public class DM300Sprite extends MobSprite {
|
|||
|
||||
texture( Assets.Sprites.DM300 );
|
||||
|
||||
setAnimations(false);
|
||||
updateChargeState(false);
|
||||
}
|
||||
|
||||
private void setAnimations( boolean enraged ){
|
||||
public void updateChargeState( boolean enraged ){
|
||||
if (superchargeSparks != null) superchargeSparks.on = enraged;
|
||||
|
||||
int c = enraged ? 10 : 0;
|
||||
|
||||
TextureFilm frames = new TextureFilm( texture, 25, 22 );
|
||||
|
@ -148,8 +150,7 @@ public class DM300Sprite extends MobSprite {
|
|||
superchargeSparks.on = false;
|
||||
|
||||
if (ch instanceof NewDM300 && ((NewDM300) ch).isSupercharged()){
|
||||
setAnimations(true);
|
||||
superchargeSparks.on = true;
|
||||
updateChargeState(true);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -159,11 +160,6 @@ public class DM300Sprite extends MobSprite {
|
|||
|
||||
if (superchargeSparks != null){
|
||||
superchargeSparks.visible = visible;
|
||||
if (ch instanceof NewDM300
|
||||
&& ((NewDM300) ch).isSupercharged() != superchargeSparks.on){
|
||||
superchargeSparks.on = ((NewDM300) ch).isSupercharged();
|
||||
setAnimations(((NewDM300) ch).isSupercharged());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user