Пример #1
0
        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);
            }
        }
Пример #2
0
        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;
        }
Пример #3
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();
        }
Пример #4
0
        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);
        }
Пример #5
0
 public void SetSequenceMap(Dictionary <string, SpriteSequence> map)
 {
     mSequenceMap     = map;
     mCurrentSequence = mSequenceMap["Idle"];
 }