public override void SetCurrentAnimation(string name, bool Play = false) { if (currentMode != name || Play) { currentMode = name; var s = currentMode + OrientationStrings[(int)CurrentOrientation]; if (Animations.ContainsKey(s)) { AnimPlayer.ChangeAnimation(Animations[s], AnimationPlayer.ChangeAnimationOptions.NoStateChange); } } }
public override void Update(DwarfTime gameTime, ChunkManager chunks, Camera camera) { CalculateCurrentOrientation(camera); var s = currentMode + OrientationStrings[(int)CurrentOrientation]; if (Animations.ContainsKey(s)) { AnimPlayer.ChangeAnimation(Animations[s], AnimationPlayer.ChangeAnimationOptions.Play | AnimationPlayer.ChangeAnimationOptions.Loop); } base.Update(gameTime, chunks, camera); }
override public void Render(DwarfTime gameTime, ChunkManager chunks, Camera camera, SpriteBatch spriteBatch, GraphicsDevice graphicsDevice, Shader effect, bool renderingForWater) { base.Render(gameTime, chunks, camera, spriteBatch, graphicsDevice, effect, renderingForWater); CalculateCurrentOrientation(camera); var s = currentMode + OrientationStrings[(int)CurrentOrientation]; if (Animations.ContainsKey(s)) { AnimPlayer.ChangeAnimation(Animations[s], AnimationPlayer.ChangeAnimationOptions.Play); AnimPlayer.Update(gameTime, true); } }