void addEtape(List <GameObject> listDejaVu, List <GameObject> listInput, ScEtape etape, Niveau niveau) { etape.niveauAssocie = niveau; foreach (GameObject g in etape.getConnexion()) { if (!listDejaVu.Contains(g) && !listInput.Contains(g)) { listInput.Add(g); g.GetComponent <ScEtape>().etape = etape.etape + 1; g.GetComponent <ScEtape>().etapeParent = etape; } if (g.GetComponent <ScEtape>().niveauAssocie != null) { niveau.addConnection(g.GetComponent <ScEtape>().niveauAssocie); } g.GetComponent <ScEtape>().niveauParent = niveau; } }
public void loadMap() { if (listNiveauEntity == null) { listNiveauEntity = SaveSystem.LoadMap(); } List <NiveauEntity> listDejaVu = new List <NiveauEntity>(); List <NiveauEntity> aUtilise = new List <NiveauEntity>(); listNiveau = new List <Niveau>(); Niveau niveauSelectionne; Niveau niveau = null; GameObject niveauG; aUtilise.Add(listNiveauEntity[0]); GameObject niveauContainer = GameObject.Find("NiveauContainer"); foreach (NiveauEntity niveauEntity in listNiveauEntity) { niveauG = (GameObject)Instantiate(Resources.Load("niveau")); niveauG.SetActive(true); niveauG.transform.SetParent(niveauContainer.transform); niveau = niveauG.GetComponent <Niveau>(); listNiveau.Add(niveau); niveauEntity.setValue(niveau); //listNiveauEntity.Add(new NiveauEntity(niveau.Visite, niveau.Visible, niveau.Difficulte, niveau.Etape, niveauG.transform.position.x, niveauG.transform.position.y, niveauG.transform.position.z)); } foreach (NiveauEntity niveauEntity in listNiveauEntity) { niveauSelectionne = listNiveau.Find((niveauGa) => niveauEntity.id == niveauGa.id); foreach (NiveauEntity niveauE in niveauEntity.niveauConnecte) { niveau.addConnection(listNiveau.Find((gNiveau) => niveauE.x == gNiveau.transform.position.x && niveauE.y == gNiveau.transform.position.y && niveauE.z == gNiveau.transform.position.z)); } } ChangeSceneService.instance.finChargement(); }