Example #1
0
        public void Update(GameTime gameTime, State state)
        {
            IEnumerable <Entity> entities = state.GetAllEntities();

            r.UpdateAnimation(gameTime, entities);
            ui.Update(gameTime, entities);
        }
Example #2
0
        public void Update(GameTime gameTime, State state)
        {
            IEnumerable<Entity> entities = state.GetAllEntities();

            r.UpdateAnimation(gameTime, entities);
            ui.Update(gameTime, entities);
        }
Example #3
0
        public void Draw(GameTime gameTime, SpriteBatch batch, State state)
        {
            int delta = 10;

            c.Pan(xPan * delta, yPan * delta);

            IEnumerable <Entity> entities = state.GetAllEntities();

            batch.Begin(SpriteSortMode.FrontToBack, BlendState.AlphaBlend);

            foreach (Entity e in entities)
            {
                Point             pos  = new Point((int)e.x, (int)e.y);
                AnimatedTexture2D anim = db.GetAnimation(e.texName);

                Texture2D tex;
                Vector2   size;
                Rectangle source;
                if (anim == null)
                {
                    tex    = db.Get(e.texName);
                    size   = new Vector2(tex.Width, tex.Height);
                    source = new Rectangle(0, 0, tex.Width, tex.Height);
                }
                else
                {
                    tex    = anim.GetSheet();
                    size   = new Vector2(anim.GetWidth(), anim.GetHeight());
                    source = anim.GetWindow(e.index);
                }

                batch.Draw(tex, c.GetRenderPosition(pos, size), source, Color.White, 0.0f,
                           Vector2.Zero, 1.0f, SpriteEffects.None, (float)(e.x + e.y + .0001f) / 1200);
            }

            batch.End();
        }
Example #4
0
        public void Draw(GameTime gameTime, SpriteBatch batch, State state)
        {
            int delta = 10;
            c.Pan(xPan * delta, yPan * delta);

            IEnumerable<Entity> entities = state.GetAllEntities();

            batch.Begin(SpriteSortMode.FrontToBack, BlendState.AlphaBlend);

            foreach (Entity e in entities)
            {
                Point pos = new Point((int)e.x, (int)e.y);
                AnimatedTexture2D anim = db.GetAnimation(e.texName);

                Texture2D tex;
                Vector2 size;
                Rectangle source;
                if (anim == null)
                {
                    tex = db.Get(e.texName);
                    size = new Vector2(tex.Width, tex.Height);
                    source = new Rectangle(0, 0, tex.Width, tex.Height);
                }
                else
                {
                    tex = anim.GetSheet();
                    size = new Vector2(anim.GetWidth(), anim.GetHeight());
                    source = anim.GetWindow(e.index);
                }

                batch.Draw(tex, c.GetRenderPosition(pos, size), source, Color.White, 0.0f,
                    Vector2.Zero, 1.0f, SpriteEffects.None, (float)(e.x + e.y + .0001f) / 1200);
            }

            batch.End();
        }