private void LstControles_MouseDoubleClick(object sender, MouseEventArgs e) { if (LstControles.SelectedItem != null) { ObjetoAttribute o = (ObjetoAttribute)LstControles.SelectedItem; ConcentradorObjeto objeto = (ConcentradorObjeto)o.TipoRelacionado.GetConstructor(new Type[] { typeof(Jogo) }).Invoke(new object[] { ProjetoJogo }); objeto.IniciarNome(); if (objeto.WinControl != null) { Control c = objeto.WinControl.InitWinControl(); objeto.PropriedadeInvalida += OnPropriedadeInvalida; objeto.NomeAlterado += OnNomeChanged; c.Click += ControClick; c.MouseDown += new MouseEventHandler(ControMouseDown); c.MouseUp += new MouseEventHandler(ControMouseUp); c.MouseMove += new MouseEventHandler(ControMouseMove); _CenaAtual.AdicionarObjeto(objeto); } else { MessageBox.Show("O componente para renderização não foi inicializado.", "CogEngine - Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); } } }
private void TreeViewObjetos_KeyDown(object sender, KeyEventArgs e) { CenaWinForm cena; if (e.KeyCode == Keys.Delete) { if (TreeViewObjetos.SelectedNode != null) { if (DialogResult.Yes == MessageBox.Show("Confirma a exclusão deste item?", "Atenção", MessageBoxButtons.YesNo, MessageBoxIcon.Warning)) { if (TreeViewObjetos.SelectedNode.Parent != null) { cena = (CenaWinForm)ProjetoJogo.ListarCena().First(c => c.Nome == TreeViewObjetos.SelectedNode.Parent.Text); ConcentradorObjeto objeto = cena.ListarObjetos().First(f => f.Nome == TreeViewObjetos.SelectedNode.Text); cena.RemoverObjeto(objeto); } else { cena = (CenaWinForm)ProjetoJogo.ListarCena().First(c => c.Nome == TreeViewObjetos.SelectedNode.Text); ProjetoJogo.RemoverCena(cena); } } } } }
public void ListaAlterada(object sender, AlteracaoListaEventArgs e) { if (e.TipoAlteracao == TipoAlteracaoLista.Adicao) { if (e.Objeto is CenaWinForm) { CenaWinForm c = (CenaWinForm)e.Objeto; TreeViewObjetos.Nodes.Add(c.ID, c.Nome); } else if (e.Objeto is Script) { Script s = (Script)e.Objeto; LstScript.Items.Add(s); CboUpdate.Items.Add(s); } else if (e.Objeto is Som) { Som s = (Som)e.Objeto; LstSons.Items.Add(s); } else if (e.Objeto is ConcentradorObjeto) { CenaWinForm c = (CenaWinForm)sender; ConcentradorObjeto o = (ConcentradorObjeto)e.Objeto; TreeViewObjetos.Nodes[c.ID].Nodes.Add(o.ID, o.Nome); } } else if (e.TipoAlteracao == TipoAlteracaoLista.Remocao) { if (e.Objeto is CenaWinForm) { CenaWinForm c = (CenaWinForm)e.Objeto; TreeViewObjetos.Nodes.RemoveByKey(c.ID); } else if (e.Objeto is Script) { Script s = (Script)e.Objeto; LstScript.Items.Remove(s); CboUpdate.Items.Remove(s); } else if (e.Objeto is Som) { Som s = (Som)e.Objeto; LstSons.Items.Remove(s); } else if (e.Objeto is ConcentradorObjeto) { ConcentradorObjeto o = (ConcentradorObjeto)e.Objeto; TreeNode node = TreeViewObjetos.Nodes.Find(o.ID, true)[0]; node.Remove(); } } }
public object Objeto(string nome) { ConcentradorObjeto concentrador = _CenaAtual.ListarObjetos().FirstOrDefault(c => c.Nome == nome); if (concentrador != null) { return(concentrador.XNAControl); } else { return(null); } }
private void TreeViewObjetos_AfterSelect(object sender, TreeViewEventArgs e) { CenaWinForm cena; if (e.Node.Parent != null) { cena = (CenaWinForm)ProjetoJogo.ListarCena().First(c => c.Nome == e.Node.Parent.Text); ConcentradorObjeto objeto = cena.ListarObjetos().First(f => f.Nome == e.Node.Text); CarregarDetalhe(objeto.WinControl); } else { cena = (CenaWinForm)ProjetoJogo.ListarCena().First(c => c.Nome == e.Node.Text); CarregarCena(cena); CarregarDetalhe(cena); } }
public override void RemoverObjeto(ConcentradorObjeto item) { Painel.Controls.Remove((Control)item.WinControl); base.RemoverObjeto(item); }
public override void AdicionarObjeto(ConcentradorObjeto item) { Painel.Controls.Add((Control)item.WinControl); base.AdicionarObjeto(item); }
protected override int Comparar(ConcentradorObjeto x, ConcentradorObjeto y) { return x.WinControl.ZIndex.CompareTo(y.WinControl.ZIndex); }
internal CustomImageWincontrol(ConcentradorObjeto objeto) { _Objeto = objeto; Altura = 80; }
protected override int Comparar(ConcentradorObjeto x, ConcentradorObjeto y) { return(x.WinControl.ZIndex.CompareTo(y.WinControl.ZIndex)); }