/// <summary> /// Odpowiada za zmiany stanów obiektu /// </summary> private void ManageState() { switch (State) { case EExplosiveState.Exploding: State = EExplosiveState.AfterExplosion; break; case EExplosiveState.AfterExplosion: if (AnimationComponent.CurrentAnimationName=="Explode" && AnimationComponent.CurrentAnimation.HasFinished) State = EExplosiveState.Exploded; break; } }
/// <summary> /// Akcje wywoływane w momencie wybuchu /// </summary> /// <param name="gameTime">Czas gry</param> public virtual void Explode(GameTime gameTime) { State = EExplosiveState.Exploding; AnimationComponent.SetActiveAnimation("Explode"); SoundHelper.Play(_explodeSound); }