diff options
Diffstat (limited to 'core')
| -rw-r--r-- | core/src/ch/asynk/rustanddust/game/Ctrl.java | 39 | ||||
| -rw-r--r-- | core/src/ch/asynk/rustanddust/game/Hud.java | 2 | ||||
| -rw-r--r-- | core/src/ch/asynk/rustanddust/game/map/Map3Animations.java | 5 | 
3 files changed, 27 insertions, 19 deletions
| diff --git a/core/src/ch/asynk/rustanddust/game/Ctrl.java b/core/src/ch/asynk/rustanddust/game/Ctrl.java index 01a3748..65155c6 100644 --- a/core/src/ch/asynk/rustanddust/game/Ctrl.java +++ b/core/src/ch/asynk/rustanddust/game/Ctrl.java @@ -33,7 +33,8 @@ class Event      public enum Type      {          STATE_CHANGE, -        HUD_ANSWER; +        HUD_ANSWER, +        ANIMATIONS_DONE;      }      public Type type; @@ -192,6 +193,13 @@ public abstract class Ctrl implements Disposable          events.enqueue(evt);      } +    public void postAnimationsDone() +    { +        Event evt = getEvent(); +        evt.type = Event.Type.ANIMATIONS_DONE; +        events.enqueue(evt); +    } +      public void processEvent()      {          if (events.size() <= 0) @@ -205,6 +213,9 @@ public abstract class Ctrl implements Disposable              case HUD_ANSWER:                  handleHudAnswer(evt);                  break; +            case ANIMATIONS_DONE: +                animationsDone(); +                break;              default:                  RustAndDust.error(String.format("Unhandled Event Type : %s %s", evt.type, evt.data));          } @@ -259,19 +270,6 @@ public abstract class Ctrl implements Disposable              state.touch(touchedHex);      } -    // Map callbacks - -    public void animationsOver() -    { -        if (hud.dialogActive()) -            hud.notifyAnimationsEnd(); -        if (stateType == StateType.ANIMATION) { -            StateType tmp = stateAfterAnimation; -            stateAfterAnimation = StateType.DONE; -            setState(tmp); -        } -    } -      // State callbacks      public void setAfterAnimationState(StateType after) @@ -279,7 +277,7 @@ public abstract class Ctrl implements Disposable          stateAfterAnimation = after;      } -    // Hud callbacks +    // Event handlers      private void handleHudAnswer(Event evt)      { @@ -308,6 +306,17 @@ public abstract class Ctrl implements Disposable          }      } +    private void animationsDone() +    { +        if (hud.dialogActive()) +            hud.notifyAnimationsDone(); +        if (stateType == StateType.ANIMATION) { +            StateType tmp = stateAfterAnimation; +            stateAfterAnimation = StateType.DONE; +            setState(tmp); +        } +    } +      public void showEntryZone()      {          if ((stateType == StateType.DEPLOYMENT) || (stateType == StateType.REINFORCEMENT)) diff --git a/core/src/ch/asynk/rustanddust/game/Hud.java b/core/src/ch/asynk/rustanddust/game/Hud.java index ec58233..1262a80 100644 --- a/core/src/ch/asynk/rustanddust/game/Hud.java +++ b/core/src/ch/asynk/rustanddust/game/Hud.java @@ -233,7 +233,7 @@ public class Hud implements Disposable, Animation              ctrl.blockMap = false;      } -    public void notifyAnimationsEnd() +    public void notifyAnimationsDone()      {          delay = CLOSE_DELAY;          delayOn = true; diff --git a/core/src/ch/asynk/rustanddust/game/map/Map3Animations.java b/core/src/ch/asynk/rustanddust/game/map/Map3Animations.java index c97d332..d6614f1 100644 --- a/core/src/ch/asynk/rustanddust/game/map/Map3Animations.java +++ b/core/src/ch/asynk/rustanddust/game/map/Map3Animations.java @@ -140,8 +140,7 @@ public abstract class Map3Animations extends Map2Moves implements MoveToAnimatio          if (soundId >= 0) {              addAnimation( SoundAnimation.get(SoundAnimation.Action.FADE_OUT, sound, soundId, game.config.fxVolume, 0.5f));              soundId = -1; -            return; -        } -        game.ctrl.animationsOver(); +        } else +            game.ctrl.postAnimationsDone();      }  } | 
