public static void Definir(byte x, byte y, byte Camada_Num, byte Camada_Type, byte Parte, string Letra) { Point Position = new Point(0); // Posições exatas dos mini Tiles (16x16) switch (Letra) { // Quinas case "a": Position = new Point(32, 0); break; case "b": Position = new Point(48, 0); break; case "c": Position = new Point(32, 16); break; case "d": Position = new Point(48, 16); break; // Noroeste case "e": Position = new Point(0, 32); break; case "f": Position = new Point(16, 32); break; case "g": Position = new Point(0, 48); break; case "h": Position = new Point(16, 48); break; // Nordeste case "i": Position = new Point(32, 32); break; case "j": Position = new Point(48, 32); break; case "k": Position = new Point(32, 48); break; case "l": Position = new Point(48, 48); break; // Sudoeste case "m": Position = new Point(0, 64); break; case "n": Position = new Point(16, 64); break; case "o": Position = new Point(0, 80); break; case "p": Position = new Point(16, 80); break; // Sudeste case "q": Position = new Point(32, 64); break; case "r": Position = new Point(48, 64); break; case "s": Position = new Point(32, 80); break; case "t": Position = new Point(48, 80); break; } // Define a Position do mini Tile Lists.Structures.Tile_Data Data = Lists.Map.Tile[x, y].Data[Camada_Type, Camada_Num]; Lists.Map.Tile[x, y].Data[Camada_Type, Camada_Num].Mini[Parte].X = Data.x * Jogo.Grade + Position.X; Lists.Map.Tile[x, y].Data[Camada_Type, Camada_Num].Mini[Parte].Y = Data.y * Jogo.Grade + Position.Y; }
public static void Maps_AutoCriação(Point Position, Lists.Structures.Tile_Data Data, SFML.Graphics.Color Cor) { // Desenha os 4 mini Tiles for (byte i = 0; i <= 3; i++) { Point Destino = Position, Fonte = Data.Mini[i]; // Partes do Tile switch (i) { case 1: Destino.X += 16; break; case 2: Destino.Y += 16; break; case 3: Destino.X += 16; Destino.Y += 16; break; } // Renderiza o mini Tile Desenhar(Tex_Tile[Data.Tile], new Rectangle(Fonte.X, Fonte.Y, 16, 16), new Rectangle(Destino, new Size(16, 16)), Cor); } }