コード例 #1
0
    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++;
        }
    }
コード例 #2
0
    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();
        }
    }
コード例 #3
0
    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();
        }
    }
コード例 #4
0
    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));
    }
コード例 #5
0
    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));
    }
コード例 #6
0
    // 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();
            }
        }
    }