/// <summary> /// Load sprites for all animations that are supposed to be cached /// </summary> public void Cache(BomberStuff.Core.UserInterface.IDevice device, int nPlayers) { foreach (Animation ani in TilesetAnimations) { if (ani.Cached) { //System.Console.WriteLine("Caching " + ani.Name); foreach (AnimationFrame frame in ani.Frames) { if (frame.RemappedCopies == null) { frame.GetSprite(device, ani.VideoMemory); } else { for (int iPlayer = 0; iPlayer < nPlayers; ++iPlayer) { frame.GetSprite(device, ani.VideoMemory, iPlayer); } } } } } foreach (Animation ani in Animations) { if (ani.Cached) { //System.Console.WriteLine("Caching " + ani.Name); foreach (AnimationFrame frame in ani.Frames) { if (frame.RemappedCopies == null) { frame.GetSprite(device, ani.VideoMemory); } else { for (int iPlayer = 0; iPlayer < nPlayers; ++iPlayer) { frame.GetSprite(device, ani.VideoMemory, iPlayer); } } } } } foreach (Animation ani in DeathAnimations) { if (ani.Cached) { //System.Console.WriteLine("Caching " + ani.Name); foreach (AnimationFrame frame in ani.Frames) { if (frame.RemappedCopies == null) { frame.GetSprite(device, ani.VideoMemory); } else { for (int iPlayer = 0; iPlayer < nPlayers; ++iPlayer) { frame.GetSprite(device, ani.VideoMemory, iPlayer); } } } } } }
/// <summary> /// /// </summary> /// <param name="aniList"></param> /// <param name="device"></param> /// <returns></returns> public override BomberStuff.Core.UserInterface.ISprite GetSprite(AnimationList aniList, BomberStuff.Core.UserInterface.IDevice device) { //if (PlayerIndex == -1) //return aniList[Animation].GetSprite(device, AnimationState); //else return(aniList[Animation].GetSprite(device, AnimationState, PlayerIndex)); }