public void Configurer(Scenario_Etape[] __etapes_du_scenario) { // méthode non robuste //p_etapes.AddRange(__etapes_du_scenario); // méthode robuste // ====> vérifier si les étapes passées en paramètres sont valides if (p_etapes != null) { p_etapes.Clear(); // vider le tableau (si 2ème ou suivantes exécutions.... } else { p_etapes = new List <Scenario_Etape>(); // 1ere exécution : instantiation } nbEtapes = 0; foreach (Scenario_Etape _etape in __etapes_du_scenario) { // un objet valide ? if (_etape.interactiveObject == null) { CommonDevTools.QUIT_APP("objet étape " + nbEtapes + " non défini"); } // un type d'intearction défini ? if (_etape.interaction == Scenario_Etape.Interactions.UNDEFINED) { CommonDevTools.ERROR("interaction étape " + nbEtapes + " non définie", this.gameObject); } // recherches des components dérivés de Action : ! seront tous ajoutés, qu'il soient activés ou non ! _etape.actions = _etape.interactiveObject.GetComponents <Action_Scenario_Etape>(); // au moins une action définie ? if (_etape.actions.Length == 0) { CommonDevTools.ERROR("pas d'actions pour l'étape " + nbEtapes + " et l'objet " + _etape.interactiveObject.name, this.gameObject); } else { CommonDevTools.DEBUG(_etape.actions.Length + " actions pour l'étape " + nbEtapes + " et l'objet " + _etape.interactiveObject.name); } // desactiver les actions et met isPartOf_Scenario à vrai foreach (Action_Scenario_Etape action in _etape.actions) { action.enabled = false; action.isPartOf_Scenario = true; } // Etape valide : ajouté au scénario p_etapes.Add(_etape); nbEtapes++; } }
//Launch one scene by index public void LoadScene(int __num_scene) { if (__num_scene >= p_nbScenes) { CommonDevTools.QUIT_APP("! Erreur de référence de scène !"); } else { SceneManager.LoadScene(p_arr_Scenes[__num_scene]); } // SceneManager.LoadScene(p_list_Scenes[i]); // pour les dictionnaires pas vraiment adapté car indexé par clé (ici chaine) }
//Launch one scene by name public void LoadScene(string __nom_scene) { // méthode non robuste : SceneManager.LoadScene(__scene_name); // méthode robuste : vérifier que le nom est correct // le dictionnaire est ici approprié string _nom_scene_verifié; if (p_dict_Scenes.TryGetValue(__nom_scene, out _nom_scene_verifié)) { SceneManager.LoadScene(_nom_scene_verifié); } else { CommonDevTools.QUIT_APP("! Erreur de référence de scène !"); } }
public void Quit() { CommonDevTools.QUIT_APP("quit"); }
public void PressQuit() { CommonDevTools.QUIT_APP("! fin demandée de l'application!"); }