/// <summary> /// Initializes a new instance of the <see cref="BlockTile"/> class. /// </summary> /// <param name="location">The location of the tile.</param> /// <param name="name">Name of the tiles sprite.</param> public BlockTile(Vector2 location, string name) { blockCollisionHandler = new BlockCollisionHandler(this); Physics = new Physics(location); spriteTint = Color.Gray; isTransparent = DetermineTransparency(name); sprite = CreateCorrectSprite(name); Physics.Bounds = new Rectangle((int)Physics.Location.X, (int)Physics.Location.Y, (int)BlockSpriteFactory.Instance.TileWidth, (int)BlockSpriteFactory.Instance.TileHeight); Physics.Depth = GameData.Instance.RoomConstants.BlockTileDepth; SetBounds(name); }
/// <summary> /// Initializes a new instance of the <see cref="CrossableTile"/> class. /// </summary> /// <param name="location">The location of the tile.</param> /// <param name="name">Name of the tiles sprite.</param> public CrossableTile(Vector2 location, string name) { blockCollisionHandler = new BlockCollisionHandler(this); Physics = new Physics(location); spriteTint = Color.Gray; isTransparent = true; sprite = CreateCorrectSprite(name); crossingSprite = CreateCorrectCrossingSprite(name); Physics.Bounds = new Rectangle((int)Physics.Location.X, (int)Physics.Location.Y, (int)BlockSpriteFactory.Instance.TileWidth, (int)BlockSpriteFactory.Instance.TileHeight); Physics.Depth = GameData.Instance.RoomConstants.BlockTileDepth; ladderTime = 30; playerCrossing = false; }
/// <summary> /// Initializes a new instance of the <see cref="MovableBlock"/> class. /// </summary> /// <param name="location">The location of the tile.</param> /// <param name="name">Name of the tiles sprite.</param> /// <param name="direction">Invalid Directions for this.</param> public MovableBlock(Vector2 location, string name, string direction) { originalLocation = location; spriteTint = LoZGame.Instance.DungeonTint; CurrentState = new UnsolvedState(this); invalidDirections = new List <InvalidDirection>(); string[] invalidDirectionStrings = !string.IsNullOrEmpty(direction) ? direction.Split(',') : null; blockCollisionHandler = new BlockCollisionHandler(this); Physics = new Physics(location); sprite = DungeonSpriteFactory.Instance.MovableTile(); Physics.Bounds = new Rectangle((int)Physics.Location.X, (int)Physics.Location.Y, (int)BlockSpriteFactory.Instance.TileWidth, (int)BlockSpriteFactory.Instance.TileHeight); Physics.SetDepth(); isTransparent = false; SetInvalidDirections(invalidDirectionStrings); }