Esempio n. 1
0
    private void Limitações()
    {
        // Previni erros
        if (lstLista.SelectedIndex > 0)
        {
            Objetos.scrlImagemX.Maximum = 0;
            Objetos.scrlImagemY.Maximum = 0;
        }

        // Dados
        Size Tamanho = Gráficos.TTamanho(Imagem[lstLista.SelectedIndex]);
        int  Largura = Tamanho.Width - Objetos.picImagem.Width;
        int  Altura  = Tamanho.Height - Objetos.picImagem.Height;

        // Verifica se nada passou do limite minímo
        if (Largura < 0)
        {
            Largura = 0;
        }
        if (Altura < 0)
        {
            Altura = 0;
        }

        // Define os limites
        Objetos.scrlImagemX.Maximum = Largura;
        Objetos.scrlImagemY.Maximum = Altura;
    }
Esempio n. 2
0
    public static void Azulejo(byte Índice)
    {
        Size Textura_Tamanho = Gráficos.TTamanho(Gráficos.Tex_Azulejo[Índice]);
        Size Tamanho         = new Size(Textura_Tamanho.Width / Globais.Grade - 1, Textura_Tamanho.Height / Globais.Grade - 1);

        // Redimensiona os valores
        Listas.Azulejo[Índice].Azulejo = new Listas.Estruturas.Azulejos_Azulejo_Dados[Tamanho.Width + 1, Tamanho.Height + 1];

        for (byte x = 0; x <= Tamanho.Width; x++)
        {
            for (byte y = 0; y <= Tamanho.Height; y++)
            {
                Listas.Azulejo[Índice].Azulejo[x, y].Bloqueio = new bool[(byte)Globais.Direções.Quantidade];
            }
        }
    }
Esempio n. 3
0
    public static void Azulejo(byte Índice)
    {
        FileInfo Arquivo         = new FileInfo(Diretórios.Azulejos_Dados.FullName + Índice + Diretórios.Formato);
        Size     Textura_Tamanho = Gráficos.TTamanho(Gráficos.Tex_Azulejo[Índice]);
        Size     Tamanho         = new Size(Textura_Tamanho.Width / Globais.Grade - 1, Textura_Tamanho.Height / Globais.Grade - 1);

        // Cria o arquivo caso ele não existir
        if (!Arquivo.Exists)
        {
            Escrever.Azulejo(Índice);
            return;
        }

        // Cria um sistema binário para a manipulação dos dados
        BinaryReader Binário = new BinaryReader(Arquivo.OpenRead());

        // Dados básicos
        Listas.Azulejo[Índice].Largura = Binário.ReadByte();
        Listas.Azulejo[Índice].Altura  = Binário.ReadByte();

        // Previni erros (Foi trocado de azulejo)
        if (Tamanho != new Size(Listas.Azulejo[Índice].Largura, Listas.Azulejo[Índice].Altura))
        {
            Binário.Dispose();
            Limpar.Azulejo(Índice);
            Escrever.Azulejo(Índice);
            return;
        }

        for (byte x = 0; x <= Tamanho.Width; x++)
        {
            for (byte y = 0; y <= Tamanho.Height; y++)
            {
                // Atributos
                Listas.Azulejo[Índice].Azulejo[x, y].Atributo = Binário.ReadByte();

                // Bloqueio direcional
                for (byte i = 0; i <= (byte)Globais.Direções.Quantidade - 1; i++)
                {
                    Listas.Azulejo[Índice].Azulejo[x, y].Bloqueio[i] = Binário.ReadBoolean();
                }
            }
        }

        // Fecha o sistema
        Binário.Dispose();
    }
Esempio n. 4
0
    public static void Principal()
    {
        int   Contagem      = 0;
        int   Contagem_1000 = 0;
        short FPS           = 0;

        while (Program.Funcionado)
        {
            Contagem = Environment.TickCount;

            // Eventos
            Editor_Mapas_Fumaça();
            Editor_Mapas_Clima();
            Editor_Mapas_Música();

            // Desenha os gráficos
            Gráficos.Apresentar();

            // Faz com que a aplicação se mantenha estável
            Application.DoEvents();
            while (Environment.TickCount < Contagem + 10)
            {
                System.Threading.Thread.Sleep(1);
            }

            // FPS
            if (Contagem_1000 < Environment.TickCount)
            {
                // Cálcula o FPS
                Globais.FPS = FPS;
                FPS         = 0;

                // Reinicia a contagem
                Contagem_1000 = Environment.TickCount + 1000;
            }
            else
            {
                FPS += 1;
            }
        }

        // Fecha a aplicação
        Program.Sair();
    }
Esempio n. 5
0
    private static void Azulejo_Limitações()
    {
        int x = Gráficos.TTamanho(Gráficos.Tex_Azulejo[Objetos.scrlAzulejo.Value]).Width / Globais.Grade - Objetos.picAzulejo.Width / Globais.Grade;
        int y = Gráficos.TTamanho(Gráficos.Tex_Azulejo[Objetos.scrlAzulejo.Value]).Height / Globais.Grade - Objetos.picAzulejo.Height / Globais.Grade;

        // Verifica se nada passou do limite minímo
        if (x < 0)
        {
            x = 0;
        }
        if (y < 0)
        {
            y = 0;
        }

        // Define os limites
        Objetos.scrlAzulejoX.Maximum = x;
        Objetos.scrlAzulejoY.Maximum = y;
    }
Esempio n. 6
0
    private static void Editor_Mapas_Fumaça_X()
    {
        Size Tamanho     = Gráficos.TTamanho(Gráficos.Tex_Fumaça[Listas.Mapa[Editor_Mapas.Selecionado].Fumaça.Textura]);
        int  VelocidadeX = Listas.Mapa[Editor_Mapas.Selecionado].Fumaça.VelocidadeX;

        // Apenas se necessário
        if (FumaçaX_Tempo >= Environment.TickCount)
        {
            return;
        }
        if (VelocidadeX == 0)
        {
            return;
        }

        // Movimento para trás
        if (VelocidadeX < 0)
        {
            Globais.Fumaça_X -= 1;
            if (Globais.Fumaça_X < -Tamanho.Width)
            {
                Globais.Fumaça_X = 0;
            }
        }
        // Movimento para frente
        else
        {
            Globais.Fumaça_X += 1;
            if (Globais.Fumaça_X > Tamanho.Width)
            {
                Globais.Fumaça_X = 0;
            }
        }

        // Contagem
        if (VelocidadeX < 0)
        {
            VelocidadeX *= -1;
        }
        FumaçaX_Tempo = Environment.TickCount + 50 - VelocidadeX;
    }
Esempio n. 7
0
    private static void Editor_Mapas_Fumaça_Y()
    {
        Size Tamanho     = Gráficos.TTamanho(Gráficos.Tex_Fumaça[Listas.Mapa[Editor_Mapas.Selecionado].Fumaça.Textura]);
        int  VelocidadeY = Listas.Mapa[Editor_Mapas.Selecionado].Fumaça.VelocidadeY;

        // Apenas se necessário
        if (FumaçaY_Tempo >= Environment.TickCount)
        {
            return;
        }
        if (VelocidadeY == 0)
        {
            return;
        }

        // Movimento para trás
        if (VelocidadeY < 0)
        {
            Globais.Fumaça_Y -= 1;
            if (Globais.Fumaça_Y < -Tamanho.Height)
            {
                Globais.Fumaça_Y = 0;
            }
        }
        // Movimento para frente
        else
        {
            Globais.Fumaça_Y += 1;
            if (Globais.Fumaça_Y > Tamanho.Height)
            {
                Globais.Fumaça_Y = 0;
            }
        }

        // Contagem
        if (VelocidadeY < 0)
        {
            VelocidadeY *= -1;
        }
        FumaçaY_Tempo = Environment.TickCount + 50 - VelocidadeY;
    }
    public static void Definir_Cliente()
    {
        string Diretório = Listas.Opções.Diretório_Cliente;

        // Previni erros
        if (!Directory.Exists(Diretório))
        {
            Listas.Opções.Diretório_Cliente = string.Empty;
            Escrever.Opções();
            return;
        }

        // Demonstra o diretório
        Seleção.Objetos.txtCliente_Diretório.Text = Diretório;

        // Cliente
        Fontes                = new DirectoryInfo(Diretório + @"\Fontes\");
        Sons                  = new DirectoryInfo(Diretório + @"\Aúdio\Sons\");
        Músicas               = new DirectoryInfo(Diretório + @"\Aúdio\Músicas\");
        Cliente_Dados         = new FileInfo(Diretório + @"\Dados\Gerais" + Formato);
        Botões_Dados          = new DirectoryInfo(Diretório + @"\Dados\Ferramentas\Botões\");
        Digitalizadores_Dados = new DirectoryInfo(Diretório + @"\Dados\Ferramentas\Digitalizadores\");
        Paineis_Dados         = new DirectoryInfo(Diretório + @"\Dados\Ferramentas\Paineis\");
        Marcadores_Dados      = new DirectoryInfo(Diretório + @"\Dados\Ferramentas\Marcadores\");
        Tex_Panoramas         = new DirectoryInfo(Diretório + @"\Gráficos\Panoramas\");
        Tex_Luzes             = new DirectoryInfo(Diretório + @"\Gráficos\Luzes\");
        Tex_Fumaças           = new DirectoryInfo(Diretório + @"\Gráficos\Fumaças\");
        Tex_Personagens       = new DirectoryInfo(Diretório + @"\Gráficos\Personagens\");
        Tex_Faces             = new DirectoryInfo(Diretório + @"\Gráficos\Faces\");
        Tex_Paineis           = new DirectoryInfo(Diretório + @"\Gráficos\Interface\Ferramentas\Paineis\");
        Tex_Botões            = new DirectoryInfo(Diretório + @"\Gráficos\Interface\Ferramentas\Botões\");
        Tex_Marcador          = new FileInfo(Diretório + @"\Gráficos\Interface\Ferramentas\Marcador");
        Tex_Digitalizador     = new FileInfo(Diretório + @"\Gráficos\Interface\Ferramentas\Digitalizador");
        Tex_Azulejos          = new DirectoryInfo(Diretório + @"\Gráficos\Azulejos\");
        Tex_Grade             = new FileInfo(Diretório + @"\Gráficos\Grade");
        Tex_Clima             = new FileInfo(Diretório + @"\Gráficos\Clima");
        Tex_Preenchido        = new FileInfo(Diretório + @"\Gráficos\Preenchido");
        Tex_Direções          = new FileInfo(Diretório + @"\Gráficos\Direções");
        Tex_Transparente      = new FileInfo(Diretório + @"\Gráficos\Transparente");
        Tex_Iluminação        = new FileInfo(Diretório + @"\Gráficos\Iluminação");
        Tex_Itens             = new DirectoryInfo(Diretório + @"\Gráficos\Itens\");

        // Cria os diretórios
        Fontes.Create();
        Sons.Create();
        Músicas.Create();
        Cliente_Dados.Directory.Create();
        Botões_Dados.Create();
        Digitalizadores_Dados.Create();
        Paineis_Dados.Create();
        Marcadores_Dados.Create();
        Tex_Panoramas.Create();
        Tex_Fumaças.Create();
        Tex_Luzes.Create();
        Tex_Personagens.Create();
        Tex_Faces.Create();
        Tex_Paineis.Create();
        Tex_Botões.Create();
        Tex_Marcador.Directory.Create();
        Tex_Digitalizador.Directory.Create();
        Tex_Azulejos.Create();
        Tex_Grade.Directory.Create();
        Tex_Clima.Directory.Create();
        Tex_Preenchido.Directory.Create();
        Tex_Direções.Directory.Create();
        Tex_Transparente.Directory.Create();
        Tex_Iluminação.Directory.Create();
        Tex_Itens.Create();

        // Lê os dados gerais do cliente
        Ler.Cliente_Dados();
        Gráficos.LerTexturas();
        Áudio.Som.Ler();
    }
Esempio n. 9
0
 private void tmpRenderizar_Tick(object sender, System.EventArgs e)
 {
     // Renderiza as imagens
     Gráficos.PréVisualizar_Imagem();
 }