Exemplo n.º 1
0
        public void DrawTile(SurfaceTileSheet surface, int tileNumber, int xScreen, int yScreen, bool isHorizontalFlipped = false, bool isVerticalFlipped = false)
        {
            var rows    = tileNumber / surface.TileSheetWidth;
            var columns = tileNumber - (rows * surface.TileSheetWidth);

            var ySprite = rows * surface.TileHeight;
            var xSprite = columns * surface.TileWidth;

            this.DrawSprite(surface, xScreen, yScreen, isHorizontalFlipped, isVerticalFlipped, xSprite, ySprite, surface.TileWidth, surface.TileHeight);
        }
Exemplo n.º 2
0
        public SurfaceTileSheet CreateTileSheet(AssetTileSheet asset)
        {
            var tileSheet = new SurfaceTileSheet();
            var address   = ReserveEmptySprite(tileSheet, asset.Name, asset.Width, asset.Height);

            tileSheet.Initialize(this.Pixels, address, asset.Width, asset.Height, asset.TileWidth, asset.TileHeight);

            // Copier les pixels de Asset et les mettre à l'address reservé
            this.Copy(asset.Pixels, 0, 0, tileSheet.Address);

            return(tileSheet);
        }
Exemplo n.º 3
0
        public void Create(string name, int mapWidth, int mapHeight, SurfaceTileSheet surfaceTileSheet, MapTileDescriptor defaultTile)
        {
            this.Name      = name;
            this.MapWidth  = mapWidth;
            this.MapHeight = mapHeight;
            this.Tiles     = new MapTileDescriptor[mapWidth * mapHeight];
            this.TileSheet = surfaceTileSheet;

            this.Width  = mapWidth * surfaceTileSheet.TileWidth;
            this.Height = mapHeight * surfaceTileSheet.TileHeight;

            this.Clear(defaultTile);
        }
Exemplo n.º 4
0
        public void Initialize(string name, MapTileDescriptor[] tiles, int mapWidth, int mapHeight, SurfaceTileSheet surfaceTileSheet)
        {
            if (tiles.Length != mapWidth * mapHeight)
            {
                throw new Exception("The size of the tiles must be equal mapWidth * mapHeight!");
            }

            this.Name = name;

            this.TileSheet = surfaceTileSheet;
            this.Tiles     = tiles;
            this.MapWidth  = mapWidth;
            this.MapHeight = mapHeight;
        }
Exemplo n.º 5
0
        public void Create(AssetMap map, VideoMemory videoMemory)
        {
            var surfaceTileSheet = videoMemory.GetSprite <SurfaceTileSheet>(map.AssetTileSheetName);

            this.Name      = map.Name;
            this.MapWidth  = map.MapWidth;
            this.MapHeight = map.MapHeight;
            this.Tiles     = new MapTileDescriptor[map.MapWidth * map.MapHeight];

            for (int index = 0; index < this.Tiles.Length; index++)
            {
                this.Tiles[index] = map.Tiles[index];
            }

            this.TileSheet = surfaceTileSheet;

            this.Width  = map.MapWidth * surfaceTileSheet.TileWidth;
            this.Height = map.MapHeight * surfaceTileSheet.TileHeight;
        }
Exemplo n.º 6
0
        /// <summary>
        /// Constructeur
        /// </summary>
        /// <param name="frameCount"></param>
        /// <param name="relativeX"></param>
        /// <param name="relativeY"></param>

        public TileAnimationFrame(SurfaceTileSheet tiles, int tileNumber, int frameCount, bool isHorizontalFlipped = false, bool isVerticalFlipped = false, int relativeX = 0, int relativeY = 0) : base(frameCount, isHorizontalFlipped, isVerticalFlipped, relativeX, relativeY)
        {
            this.TileNumber = tileNumber;
            this.Tiles      = tiles;
        }
Exemplo n.º 7
0
 public void Create(string name, int mapWidth, int mapHeight, SurfaceTileSheet surfaceTileSheet)
 {
     this.Create(name, mapWidth, mapHeight, surfaceTileSheet, MapTileDescriptor.TileZero);
 }