public void CarregarMusica(Musica m) { /* Recebe o título de um arquivo MP3 e o associa a um objeto de Musica */ string titulo = ""; // Cria a janela de carregamento OpenFileDialog openFileDialog = new OpenFileDialog { InitialDirectory = @"C:\", Title = "Carregar Arquivo de Musica", CheckFileExists = true, CheckPathExists = true, DefaultExt = "txt", RestoreDirectory = true, // Define que será aceito apenas arquivos com extensão 'mp3' Filter = "audio files (*.mp3)|*.mp3", }; // Abre a janela de carregamento, se o botão 'OK' for pressionado 'titulo' recebe o titulo de um arquivo MP3 if (openFileDialog.ShowDialog() == DialogResult.OK) { titulo = openFileDialog.SafeFileName; // Associa o título recebido à um objeto de Musica m.Titulo = titulo; } }
public void ExcluirMusica(Musica m) { /* Retira uma música da lista de músicas */ musicas.Remove(m); }
private void Window_MouseButtonPressed(object sender, MouseButtonEventArgs e) { /* Eventos quando os botões do mouse são pressionados */ // Caso o botão esquerdo do mouse seja pressionado if (e.Button == Mouse.Button.Left && !bloqueandoAcoes) { // Caso seja pressionado no menu if (Mouse.GetPosition(window).X >= window.Size.X * Informacoes.propViewMundo) { Acao botaoPressionado = menu.BotaoPressionado(Mouse.GetPosition(window)); acao = botaoPressionado; if (botaoPressionado == Acao.IndicarEntidade) { mundo.GerenciadorEnt.PosicaoEntidade = menu.PosicaoEntidade; acao = Acao.AdicionarObjeto; } if (acao != Acao.GerenciarPropriedades) { menu.ArmadilhaAux = null; menu.AtualizarValores(Acao.Nenhum); mundo.GerenciadorEnt.ApagarQuadradoArmadilhas(); } if (acao != Acao.GerenciarConexao) { mundo.ArmadilhaAux = null; mundo.MecanismoAux = null; if (acao != Acao.GerenciarPropriedades) { mundo.GerenciadorEnt.ApagarQuadradoArmadilhas(); mundo.GerenciadorEnt.ApagarQuadradoMecanismos(); } else { mundo.GerenciadorEnt.ApagarQuadradoMecanismos(); } } if (acao == Acao.GerenciarEventos) { gerenciadorArquivos.CarregarEventos(); } else if (acao == Acao.Salvar) { gerenciadorArquivos.SalvarMundo(mundo.GerenciadorEnt.EntidadesTangiveis, mundo.GerenciadorEnt.EntidadesIntangiveis, mundo.GerenciadorEnt.Armadilhas, mundo.GerenciadorEnt.Mecanismos, mundo.GerenciadorEnt.Escadas); } else if (acao == Acao.Carregar) { zoom = 5; AplicarZoomMundo(); viewMundo.Center = new Vector2f(0, 0); gerenciadorArquivos.CarregarMundo(mundo.GerenciadorEnt); } } // Caso o botão seja pressionado no mundo else { switch (acao) { // Gerencia as propriedades de uma armadilha case Acao.GerenciarPropriedades: menu.ArmadilhaAux = mundo.GerenciadorEnt.SelecionarArmadilha(posMouseMundo.X, posMouseMundo.Y); mundo.GerenciadorEnt.ApagarQuadradoArmadilhas(); if (menu.ArmadilhaAux != null) { menu.ArmadilhaAux.Selecionado = true; } menu.AtualizarValores(Acao.Nenhum); break; // Cria uma conexão entre duas entidades case Acao.GerenciarConexao: Armadilha aAux = mundo.GerenciadorEnt.SelecionarArmadilha(posMouseMundo.X, posMouseMundo.Y); Mecanismo mAux = mundo.GerenciadorEnt.SelecionarMecanismo(posMouseMundo.X, posMouseMundo.Y); Escada eAux = mundo.GerenciadorEnt.SelecionarEscada(posMouseMundo.X, posMouseMundo.Y); if (eAux == null) { mundo.EscadaAux1 = null; mundo.EscadaAux2 = null; mundo.GerenciadorEnt.ApagarQuadradoEscadas(); if (aAux != null && mAux == null) { mundo.ArmadilhaAux = aAux; } else if (aAux == null && mAux != null) { mundo.GerenciadorEnt.ApagarQuadradoMecanismos(); mundo.GerenciadorEnt.ApagarQuadradoArmadilhas(); mundo.MecanismoAux = mAux; mundo.MecanismoAux.Selecionado = true; mundo.MecanismoAux.ApagarQuadradoArmadilhas(); mundo.MecanismoAux.DesenharQuadradoArmadilhas(); } else { mundo.ArmadilhaAux = null; mundo.MecanismoAux = null; mundo.GerenciadorEnt.ApagarQuadradoArmadilhas(); mundo.GerenciadorEnt.ApagarQuadradoMecanismos(); } if (mundo.ArmadilhaAux != null && mundo.MecanismoAux != null) { mundo.MecanismoAux.IncluirArmadilha(mundo.ArmadilhaAux); mundo.MecanismoAux.DesenharQuadradoArmadilhas(); } } else { if (mundo.EscadaAux1 == null) { mundo.EscadaAux1 = eAux; mundo.EscadaAux1.Selecionado = true; if (mundo.EscadaAux1.EscadaCon != null) { mundo.EscadaAux2 = mundo.EscadaAux1.EscadaCon; mundo.EscadaAux2.Selecionado = true; } } else if (mundo.EscadaAux1 != null && mundo.EscadaAux2 == null) { mundo.EscadaAux2 = eAux; mundo.EscadaAux1.EscadaCon = mundo.EscadaAux2; mundo.EscadaAux2.EscadaCon = mundo.EscadaAux1; mundo.EscadaAux2.Selecionado = true; } } break; // Carrega um novo diálogo e o relaciona com um NPC case Acao.GerenciarDialogos: if (mundo.GerenciadorEnt.HaNPCAqui(posMouseMundo.X, posMouseMundo.Y)) { gerenciadorArquivos.CarregarDialogo(posMouseMundo); } break; case Acao.GerenciarMusicas: // Cria a área ocupada por uma música ou carrega o título da músic aa partir de um arquivo if (mundo.MusicaAux == null) { Musica auxM = mundo.HaMusicaAqui(new Vector2f(posMouseMundo.X, posMouseMundo.Y)); if (auxM == null) { mundo.MusicaAux = new Musica() { C1 = new Vector2f(posMouseMundo.X, posMouseMundo.Y), C1Preenchido = true }; } else { gerenciadorArquivos.CarregarMusica(auxM); } } else { if (!mundo.MusicaAux.C2Preenchido) { mundo.MusicaAux.C2 = new Vector2f(posMouseMundo.X, posMouseMundo.Y); mundo.MusicaAux.C2Preenchido = true; mundo.MusicaAux.CriarRetangulo(); mundo.InserirMusica(); mundo.MusicaAux = null; } } break; } } } // Caso o botão direito do mouse seja pressioanado else if (e.Button == Mouse.Button.Right && !bloqueandoAcoes) { // Caso seja pressionado no mundo if (Mouse.GetPosition(window).X <= window.Size.X * Informacoes.propViewMundo) { switch (acao) { // Exclui a coneão entre duas entidades case Acao.GerenciarConexao: if (mundo.MecanismoAux != null) { Armadilha armadilha = mundo.GerenciadorEnt.SelecionarArmadilha(posMouseMundo.X, posMouseMundo.Y); if (armadilha != null) { armadilha.Selecionado = false; mundo.MecanismoAux.ExcluirArmadilha(armadilha); } } Escada escada = mundo.GerenciadorEnt.SelecionarEscada(posMouseMundo.X, posMouseMundo.Y); if (escada != null) { escada.Selecionado = false; escada.EscadaCon = null; mundo.GerenciadorEnt.ExcluirConecaoEscada(escada); } break; // Exclui uma música case Acao.GerenciarMusicas: Musica auxM = mundo.HaMusicaAqui(new Vector2f(posMouseMundo.X, posMouseMundo.Y)); if (auxM != null) { mundo.ExcluirMusica(auxM); } break; } } } }