This is implemented by reusing and extending the TileAnimation code for the methods used by particles.