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++; } }
void OnTriggerEnter(Collider other) { CommonDevTools.DEBUG("Objet touché : " + other.name + " objet source : " + gameObject.name); PickableObject __o = other.gameObject.GetComponent <PickableObject>(); if (__o == null) { CommonDevTools.ERROR("erreur sur objet à ramasser ! ", other.gameObject); } else { __o.Pick(); } }
void OnTriggerEnter(Collider other) { CommonDevTools.DEBUG("Object touché: " + other.name + " objet source " + gameObject.name); ObjetsARamasser __o = other.gameObject.GetComponent <ObjetsARamasser>(); if (__o == null) { CommonDevTools.ERROR("erreur sur objet à ramasser ! ", other.gameObject); } else { __o.ActionObjetRamasse(); } }
public uint IncreaseScore(string _strBonus) { int __bonus; if (!p_dicBonus.ContainsKey(_strBonus)) { CommonDevTools.ERROR("type de bonus non défini : " + _strBonus, this.gameObject); __bonus = 0; } else { __bonus = p_dicBonus[_strBonus]; } return(IncreaseScore(__bonus)); }
public uint AugmenterScore(string _strBonus) { int __bonus; if (!p_allBonus.ContainsKey(_strBonus)) { CommonDevTools.ERROR("type de bonus non défini: " + _strBonus, this.gameObject); __bonus = 0; } else { __bonus = p_allBonus[_strBonus]; } print("score = " + score + " + nouveau bonus " + __bonus); return(AugmenterScore(__bonus)); }
// jouer un son du jeu // vérifier que le son existe // trouver un lecteur libre (audioSource) ou en ajouter un s'ils sont tous en lecture // jouer le son sur le lecteur libre (avec le délai fourni) public void PlaySound(string __nom, float __delay = 0) { // à compéter // if (!p_sons.ContainsKey(__nom)) { CommonDevTools.ERROR("nom de son non défini : " + __nom, this.gameObject); } AudioClip clip; p_sons.TryGetValue(__nom, out clip); if (p_listAudioSource.Count == 0) { GameObject newaudio; newaudio = Instantiate(AudioSourcePrefab); p_listAudioSource.Add(newaudio.GetComponent <AudioSource>()); } foreach (var audio in p_listAudioSource) { if ((!audio.isPlaying)) { audio.clip = clip; audio.Play(); } } }