Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using Microsoft.Xna.Framework;
- using Microsoft.Xna.Framework.Content;
- using Microsoft.Xna.Framework.Graphics;
- using SmlEngine.Graphics;
- using SmlEngine.Extensions;
- namespace SmlEngine.Sprites.Base.WorldMap
- {
- /// <summary>
- /// An animated tile for the world map.
- /// </summary>
- public class WorldAnimatedTile : ICloneable, IWorldDrawable
- {
- // To prevent confusion:
- // Animated frame refers to one frame of an animated world tile.
- // Rendered frame refers to one frame drawn to the screen.
- #region Fields and Properties
- public int id;
- public WorldTile worldTile { get; private set; }
- public Vector2 Position { get; private set; }
- public Vector2 Size
- {
- get
- {
- return worldTile.Size;
- }
- }
- private bool isDataSet = false;
- #endregion
- #region Constructors
- public WorldAnimatedTile(int c_id, string c_contentPath, List<Rectangle> c_sourceRect, ContentManager cm, int frameTime)
- {
- worldTile = new WorldTile(c_contentPath, c_sourceRect);
- worldTile.SetData(frameTime);
- LoadContent(null, cm);
- }
- public WorldAnimatedTile(GraphicsDevice gd, string c_FilePath, List<Rectangle> c_frameRects, ContentManager cm, int frameTime)
- {
- worldTile = new WorldTile(c_FilePath, c_frameRects);
- worldTile.SetData(frameTime);
- LoadContent(gd, cm);
- }
- public WorldAnimatedTile() { }
- #endregion
- #region Methods
- public void Draw(GameTime gameTime, SpriteBatch sb)
- {
- worldTile.Draw(gameTime, sb, Position);
- }
- public void Update(GameTime gameTime) { }
- public Object Clone()
- {
- WorldAnimatedTile a = new WorldAnimatedTile();
- a.worldTile = worldTile.Clone();
- a.id = id;
- a.Position = Position;
- return a;
- }
- public void LoadContent(GraphicsDevice gd, ContentManager cm)
- {
- worldTile.LoadContent(gd, cm, true);
- }
- public void UnloadContent()
- {
- worldTile.UnloadContent();
- }
- public void SetData(Vector2 position)
- {
- if (!isDataSet)
- {
- Position = position;
- isDataSet = true;
- }
- }
- #endregion
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment