/* * AnimationData.cs * Authors: Karl Orosz * Copyright (c) 2007-2008 Cornell University This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ using System; using System.Collections.Generic; using System.Text; using Microsoft.Xna.Framework; using Microsoft.Xna.Framework.Content; namespace StarJack { public class AnimationData { private String mName; public String Name { get { return mName; } set { mName = value; } } private String mAnimationLoc; public String AnimationLocation { get { return mAnimationLoc; } set { mAnimationLoc = value; } } // The original Frame private Rectangle mFrameSize; public Rectangle FrameSize { get { return mFrameSize; } set { mFrameSize = value; } } //Frame Count private int mFrameCount; public int FrameCount { get { return mFrameCount; } set { mFrameCount = value; } } //The spritesheet for the Animation private TextureInfo mSpriteSheet; public TextureInfo SpriteSheet { get { return mSpriteSheet; } set { mSpriteSheet = value; } } private String mGroup; public String Group { get { return mGroup;} set { mGroup = value; } } private float mPrefferedFPS; public float PrefferedFPS { get { return mPrefferedFPS; } set { mPrefferedFPS = value; } } public AnimationData() { mSpriteSheet = new TextureInfo(""); mFrameSize = Rectangle.Empty; mFrameCount = 0; mName = ""; } public void LoadContent(ContentManager pContent) { mSpriteSheet.LoadContent(pContent); } public Rectangle GetFrameSource(int frameNumber) { if (frameNumber > mFrameCount) { return Rectangle.Empty; } else { return new Rectangle(mFrameSize.Width * frameNumber , mFrameSize.Y, mFrameSize.Width, mFrameSize.Height); } } } }