public void ChangeSequence(string sequenceName) { if (mCurrentSequenceName != sequenceName) { mCurrentSequence = mSequenceData[sequenceName]; mSequenceIndex = 0; mCurrentTick = 0.0; mCurrentSequenceName = sequenceName; } }
public void LoadContent(ContentManager content) { string[] descriptors = System.IO.Directory.GetFiles("Descriptors/Images/Enemy/", "*.json", System.IO.SearchOption.TopDirectoryOnly); foreach (var descriptor in descriptors) { string aJson = File.ReadAllText(descriptor); EnemyAtlasInfo aInfo = JsonConvert.DeserializeObject <EnemyAtlasInfo>(aJson); Texture2D image = content.Load <Texture2D>("Images/Enemy/" + aInfo.Image); SpriteAtlas enemyAtlas = new SpriteAtlas(); Dictionary <string, List <Rectangle> > clipMap = new Dictionary <string, List <Rectangle> >(); Dictionary <string, int> originMap = new Dictionary <string, int>(); foreach (var clipset in aInfo.ClipSets) { List <Rectangle> clips = new List <Rectangle>(); foreach (var clip in clipset.Set) { clips.Add(new Rectangle(clip[0], clip[1], clip[2], clip[3])); } clipMap.Add(clipset.Key, clips); originMap.Add(clipset.Key, 0); mNameToAtlasMap.Add(clipset.Key, enemyAtlas); } enemyAtlas.SetImage(image); enemyAtlas.SetClipMap(clipMap, originMap); foreach (var enemy in aInfo.EnemySequences) { Dictionary <string, SpriteSequenceData> sequenceMap = new Dictionary <string, SpriteSequenceData>(); foreach (var sequence in enemy.Sequences) { SpriteSequenceData s = new SpriteSequenceData(); s.mSequence = sequence.Seq; s.mLooping = sequence.Looping; s.mSubLoop = sequence.SubLoop; sequenceMap.Add(sequence.Key, s); } mNameToSequencesetMap.Add(enemy.Key, sequenceMap); } } }