Subversion Repositories AndroidProjects

Rev

Blame | Last modification | View Log | RSS feed

package com.gebauz.bauzoid.graphics.spritex;

import com.gebauz.bauzoid.graphics.Graphics;
import com.gebauz.bauzoid.graphics.GraphicsObject;
import com.gebauz.bauzoid.math.collisionx.Shape;

/** TODO: one day, generalize so that "Sprite" becomes an AtlasSprite with just one frame. */
public class AtlasSpriteInstance extends GraphicsObject
{


        // Constants========================================================================================

        // Embedded Types===================================================================================

        // Fields===========================================================================================
       
        public SpriteParameters param = new SpriteParameters();
       
        private AtlasSprite mSource = null;
        private AtlasSpriteFrame mFrames[] = null;
       
        private Shape mShape = null;

        // Methods==========================================================================================
        public AtlasSpriteInstance(Graphics graphics, AtlasSprite sprite, AtlasSpriteFrame[] frames, Shape shape)
        {
                super(graphics);
               
                mSource = sprite;
                mShape = shape;
                mFrames = frames;
        }
       
        public void renderFrame(int n) 
        {
                mFrames[n].param.apply(param);
                mFrames[n].render();                           
        }      
       
        // Getters/Setters==================================================================================
       
        public final AtlasSprite getSprite() { return mSource; }
        public final AtlasSpriteFrame getFrame(int n) { return mFrames[n]; }
        public final Shape getShape() { return mShape; }
       
}