private static void percorrer(ItemDeMenu itemMenu) /// responsvale por percorres uma lista eceriar o codigo html para cada item de menu preparando para ser renderizado na view { htmlWriter.AddAttribute(HtmlTextWriterAttribute.Class, "li-menu"); htmlWriter.RenderBeginTag(HtmlTextWriterTag.Li); htmlWriter.AddAttribute(HtmlTextWriterAttribute.Href, itemMenu.url); htmlWriter.RenderBeginTag(HtmlTextWriterTag.A); htmlWriter.Write(itemMenu.nome); htmlWriter.RenderEndTag(); //A htmlWriter.RenderEndTag(); //li foreach (var item in itemMenu.filhosList) { htmlWriter.RenderBeginTag(HtmlTextWriterTag.Ul); percorrer(item); htmlWriter.RenderEndTag();//ul// } }
// Fonction déléguée fournie à tous les menus du jeu pour traiter les sélections de l'usager. protected void SelectionItemMenu(string nomMenu, ItemDeMenu item) { if (nomMenu == "MainMenu") { switch (item.Nom) { case "Commencer": // l'usager veut commencer le jeu gameManager.FadeOut(GameManager.Etats.Jouer); break; case "Information": gameManager.FadeOut(GameManager.Etats.Info); break; case "Quitter": // l'usager veut quitter le jeu gameManager.Exit(); Environment.Exit(0); break; default: break; } } else if (nomMenu == "Information") { switch (item.Nom) { case "Retour": // l'usager veut commencer le jeu gameManager.FadeOut(GameManager.Etats.Demarrer); break; default: break; } } }
private Dictionary <int, ItemDeMenu> preencherMapa(IList <CadastroMenu> links) // responsavel por filtrar links repetidos fruto de uma intersecção entre gurpos { Dictionary <int, ItemDeMenu> mapa = new Dictionary <int, ItemDeMenu>(); foreach (var item in links) { ItemDeMenu i = new ItemDeMenu(); i.id = item.id; i.ordem = item.ordem; i.nome = item.nome; i.url = item.url; mapa.Add(item.id, i); } foreach (CadastroMenu entity in links) { ItemDeMenu i = new ItemDeMenu(); i.id = entity.id; i.ordem = entity.ordem; i.nome = entity.nome; i.url = entity.url; if (!entity.codigoPai.Equals(0)) { ItemDeMenu pai = new ItemDeMenu(); mapa.TryGetValue(entity.codigoPai, out pai); pai.filhosList.Add(i); i.pai = pai; } if (mapa.ContainsKey(entity.id)) { ItemDeMenu it; mapa.TryGetValue(entity.id, out it); if (it.filhosList.Count == 0) { mapa.Remove(entity.id); mapa.Add(entity.id, i); } else { List <ItemDeMenu> temp = new List <ItemDeMenu>(); foreach (var item in it.filhosList) { i.filhosList.Add(item); } mapa.Remove(entity.id); mapa.Add(entity.id, i); } } } return(mapa); // 1 }