public void LoadContent(ContentManager content) { // Load the Atlas(es) string aJson = File.ReadAllText("Content/Descriptors/Images/Enemy/enemy.json"); _AtlasInfo aInfo = JsonConvert.DeserializeObject <_AtlasInfo>(aJson); Texture2D image = content.Load <Texture2D>("Images/Enemy/" + aInfo.Image); Dictionary <String, List <Rectangle> > clipMap = new Dictionary <string, List <Rectangle> >(); 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); } mEnemyAtlas = new TextureAtlas(image, clipMap); //Load and copy animation sequences foreach (var enemy in aInfo.EnemySequences) { Dictionary <string, SpriteSequence> sequenceMap = new Dictionary <string, SpriteSequence>(); foreach (var sequence in enemy.Sequences) { SpriteSequence s = new SpriteSequence(); s.mSequence = sequence.Seq; s.Looping = sequence.Looping; s.mSubLoop = sequence.SubLoop; sequenceMap.Add(sequence.Key, s); } mSequenceMaps.Add(enemy.Key, sequenceMap); } }
public void Initalize(Vector2 pos) { mCurrentSequence = new SpriteSequence(); mSequenceMap = new Dictionary <string, SpriteSequence>(); mPosition = pos; mLives = 3; mBombs = 3; mScore = 0; mSpeed = 5; mPlayerState = PState.idle; mHitbox = new Rectangle(0, 0, 4, 4); mTick = 0.0; }
public void Update(GameTime gameTime) { mTick += gameTime.ElapsedGameTime.TotalSeconds; mCurrentSequence = mSequenceMap["Idle"]; KeyboardState keyboard = Keyboard.GetState(); if (keyboard.IsKeyDown(Keys.Up)) { mPosition.Y -= mSpeed; } if (keyboard.IsKeyDown(Keys.Down)) { mPosition.Y += mSpeed; } if (keyboard.IsKeyDown(Keys.Left)) { mPosition.X -= mSpeed; mCurrentSequence = mSequenceMap["MoveLeft"]; } if (keyboard.IsKeyDown(Keys.Right)) { mPosition.X += mSpeed; mCurrentSequence = mSequenceMap["MoveRight"]; } if (keyboard.IsKeyDown(Keys.Z)) { double t = 1 / (double)20; if (mTick > t) { Fire(); mTick = 0.0; } } mHitbox.X = (int)mPosition.X - mHitbox.Width / 2; mHitbox.Y = (int)mPosition.Y - mHitbox.Height / 2; mCurrentSequence.Update(); }
public void LoadContent(ContentManager content, string girl) { string pJson = File.ReadAllText("Content/Descriptors/Objects/Player/" + girl + ".json"); _PlayerInfo pInfo = JsonConvert.DeserializeObject <_PlayerInfo>(pJson); mName = pInfo.Name; mSpeed = pInfo.Speed; //Copy over sequences into map foreach (var seq in pInfo.Sequences) { SpriteSequence s = new SpriteSequence(); s.mSequence = seq.Seq; s.Looping = seq.Looping; s.mSubLoop = seq.SubLoop; mSequenceMap.Add(seq.Key, s); } //Load the Atlas string aJson = File.ReadAllText("Content/Descriptors/Images/Player/" + pInfo.Atlas); _AtlasInfo aInfo = JsonConvert.DeserializeObject <_AtlasInfo>(aJson); Texture2D image = content.Load <Texture2D>("Images/Player/" + aInfo.Image); Dictionary <String, List <Rectangle> > setMap = new Dictionary <String, List <Rectangle> >(); foreach (var set in aInfo.ClipSets) { List <Rectangle> clips = new List <Rectangle>(); foreach (var clip in set.Set) { clips.Add(new Rectangle(clip[0], clip[1], clip[2], clip[3])); } setMap.Add(set.Key, clips); } mPlayerAtlas = new TextureAtlas(image, setMap); }
public void SetSequenceMap(Dictionary <string, SpriteSequence> map) { mSequenceMap = map; mCurrentSequence = mSequenceMap["Idle"]; }