/// <param name="forceRestart">If true, the animation will be restarted if it's already the active one.</param> public void SetAnimation(string name, bool forceRestart = false) { if (!SpriteDefinition.AnimationDefinitions.ContainsKey(name)) { Console.Error.WriteLine("Error: SpriteDefinition does not contain an animation called \"" + name + "\"!"); return; } var animDefinition = SpriteDefinition.AnimationDefinitions[name]; animation.SetDefinition(animDefinition); }
/// <summary>Reloads the texture and sprite definition from disk.</summary> public void Reload() { var currentAnimationFrame = animation.GetCurrentFrame(); var currentAnimationName = animation.Definition.Name; var currentPlayOnce = animation.GetPlayOnce(); var reloadedSprite = Sprite.LoadSprite(spritePath); Texture2D = reloadedSprite.Texture2D; SpriteDefinition = reloadedSprite.SpriteDefinition; var oldAnim = animation; animation = reloadedSprite.animation; animation.SetDefinition(SpriteDefinition.AnimationDefinitions[currentAnimationName], false); animation.SetFrame(currentAnimationFrame); animation.SetPlayOnce(currentPlayOnce); animation.currentWaitTime = oldAnim.currentWaitTime; animation.waitTimeTarget = oldAnim.waitTimeTarget; animation.animationDirection = oldAnim.animationDirection; animation.Paused = oldAnim.Paused; animation.lastAnimationName = oldAnim.lastAnimationName; }
/// <summary>Reloads the texture and sprite definition from disk.</summary> public void Reload() { var currentAnimationFrame = animation.GetCurrentFrame(); var currentAnimationName = animation.Definition.Name; var currentPlayOnce = animation.GetPlayOnce(); var reloadedSprite = Sprite.LoadSprite(spritePath); Texture2D = reloadedSprite.Texture2D; SpriteDefinition = reloadedSprite.SpriteDefinition; var oldAnim = animation; animation = reloadedSprite.animation; animation.SetDefinition(SpriteDefinition.AnimationDefinitions[currentAnimationName], false); animation.SetFrame(currentAnimationFrame); animation.SetPlayOnce(currentPlayOnce); animation.currentWaitTime = oldAnim.currentWaitTime; animation.waitTimeTarget = oldAnim.waitTimeTarget; animation.animationDirection = oldAnim.animationDirection; animation.Paused = oldAnim.Paused; animation.lastAnimationName = oldAnim.lastAnimationName; }