Exemple #1
0
        public Sprite(ISpriteData data)
        {
            this.SpriteData = data;

            // Sprite is initialized with current state is stop
            state = SpriteState.STOPPED;

            // Init with first frame
            nextFrame = DEFAULT_FRAME;
            this.currentFrame = this.SpriteData.Metadata.Frames[nextFrame];

            // Init with smallest time
            lastTime = new TimeSpan(-100000000);
        }
Exemple #2
0
 private static void EditSprite(ISpriteData newSprite, Sprite origSprite, FileStream fileStream, int PrevTextureAmount)
 {
     fileStream.Position = origSprite.Offset + 4;
     fileStream.Write(newSprite.SPRTData, 0, newSprite.SPRTData.Length);
     for (int i = 0; i < origSprite.TPAGAmount; i++)
     {
         fileStream.Position = origSprite.TPAGOffsets[i];
         for (int j = 0; j < newSprite.TPAGData.GetLength(1) - 2; j++)
         {
             fileStream.WriteByte(newSprite.TPAGData[i, j]);
         }
         fileStream.WriteByte((byte)((newSprite.TPAGData[i, 20] - 4) + PrevTextureAmount));
     }
 }
Exemple #3
0
 public AnimatedSprite(ISpriteData <T> spriteData)
 {
     _texture    = LoadTexture(spriteData.TextureFileName);
     _animations = new Dictionary <T, SpriteAnimation>();
     spriteData.RegisterAnimations(this);
 }