Permalink
Switch branches/tags
Nothing to show
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
54 lines (47 sloc) 1.58 KB
using System;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
namespace PlatformerStarterKit {
/// <summary>
/// Controls the collision detection and response behavior of a tile.
/// </summary>
enum TileCollision {
/// <summary>
/// A passable tile is one which does not hinder player motion at all.
/// </summary>
Passable = 0,
/// <summary>
/// An impassable tile is one which does not allow the player to move through
/// it at all. It is completely solid.
/// </summary>
Impassable = 1,
/// <summary>
/// A platform tile is one which behaves like a passable tile except when the
/// player is above it. A player can jump up through a platform as well as move
/// past it to the left and right, but can not fall down through the top of it.
/// </summary>
Platform = 2,
}
/// <summary>
/// Stores the appearance and collision behavior of a tile.
/// </summary>
struct Tile {
public Texture2D Texture;
public TileCollision Collision;
#if ZUNE
public const int Width = 30;
public const int Height = 20;
#else
public const int Width = 64;
public const int Height = 48;
#endif
public static readonly Vector2 Size = new Vector2(Width, Height);
/// <summary>
/// Constructs a new tile.
/// </summary>
public Tile (Texture2D texture, TileCollision collision) {
Texture = texture;
Collision = collision;
}
}
}