コード例 #1
0
    public void ajout_Outil_Inventaire(string name_Tools)
    {
        bool ajout = false;

        for (int i = 0; i < liste_Outil_Inventaire.Count; i++)
        {
            if (liste_Outil_Inventaire[i].nom_Objet == name_Tools)
            {
                if (liste_Outil_Inventaire[i].quantite_Actuelle < liste_Outil_Inventaire[i].quantite_Maximal)
                {
                    liste_Outil_Inventaire[i].quantite_Actuelle++;
                    ajout = true;
                    break;
                }
            }
        }
        if (ajout == false && liste_Outil_Inventaire.Count < taille_Outil_Inventaire_Max)
        {
            objet_Inventaire item = new objet_Inventaire();
            item.nom_Objet         = name_Tools;
            item.quantite_Actuelle = 1;
            item.quantite_Maximal  = 1;
            item.image_Objet       = insert_Sprite(name_Tools);
            liste_Outil_Inventaire.Add(item);
        }
        else if (ajout == false && liste_Outil_Inventaire.Count == taille_Outil_Inventaire_Max)
        {
            texte_Surcharge.SetActive(false);
            texte_Surcharge.SetActive(true);
            StartCoroutine(disable_Text_Overload());
        }
    }
コード例 #2
0
 private void OnTriggerStay(Collider other)
 {
     // Si le joueur est dans la zone du feu et qu'il appuie sur entrée
     if (Input.GetKeyDown(KeyCode.KeypadEnter))
     {
         // S'il a du  poulet cru
         if (Craft_Book_Manager.Instance.number_Ingredient("Raw_Chicken") > 0)
         {
             //On réduit de 1 son nombre dans l'inventaire
             objet_Inventaire food = Inventaire.Instance.liste_Ingredient_Inventaire.Find(x => x.nom_Objet == "Raw_Chicken");
             food.quantite_Actuelle--;
             //Et si ce nombre est à 0 on supprime l'ingrédient de l'inventaire
             if (food.quantite_Actuelle == 0)
             {
                 Inventaire.Instance.liste_Ingredient_Inventaire.Remove(food);
             }
             //Au bout de 5 secondes, on appelle la methode Cook qui détermine si le poulet est cuit ou non
             Invoke("Cook", 5f);
         }
         // Si c'est cuit, on ajoute le poulet cuit dans l'inventaire et l'objet n'est plus à récupérer
         else if (this.isCooked)
         {
             Inventaire.Instance.ajout_Objet_Inventaire("Roasted_Chicken");
             this.isCooked = false;
         }
     }
 }
コード例 #3
0
    public void ajout_Ingredient_Inventaire(string name_Inventaire)
    {
        Debug.Log(name_Inventaire);
        bool ajout = false;

        //On parcours la liste des ingrédients
        for (int i = 0; i < liste_Ingredient_Inventaire.Count; i++)
        {
            //On vérifie si l'ingrédient récupéré fait déjà partie de l'inventaire
            if (liste_Ingredient_Inventaire[i].nom_Objet == name_Inventaire)
            {
                //Et on vérifie que ça quantité maximale ne soit pas atteinte
                if (liste_Ingredient_Inventaire[i].quantite_Actuelle < liste_Ingredient_Inventaire[i].quantite_Maximal)
                {
                    liste_Ingredient_Inventaire[i].quantite_Actuelle++;
                    ajout = true;
                    break;
                }
            }
        }

        //S'il reste de la place dans l'inventaire et que chaque objet identique a atteint sa capacité maximale alors on recréer une case dans l'inventaire
        if (ajout == false && liste_Ingredient_Inventaire.Count < taille_Ingredient_Inventaire_Max)
        {
            objet_Inventaire item = new objet_Inventaire();
            item.nom_Objet         = name_Inventaire;
            item.quantite_Actuelle = 1;
            item.quantite_Maximal  = 5;
            item.image_Objet       = insert_Sprite(name_Inventaire);
            if (item.nom_Objet.Equals("Piege"))
            {
                item.nom_Objet = "Raw_Chicken";
            }
            liste_Ingredient_Inventaire.Add(item);
        }
        else if (ajout == false && liste_Ingredient_Inventaire.Count == taille_Ingredient_Inventaire_Max)
        {
            texte_Surcharge.SetActive(false);
            texte_Surcharge.SetActive(true);
            StartCoroutine(disable_Text_Overload());
        }
    }
コード例 #4
0
    public void ajout_Objet_Inventaire(string name_Object)
    {
        bool ajout = false;

        for (int i = 0; i < liste_Objet_Inventaire.Count; i++)
        {
            if (liste_Objet_Inventaire[i].nom_Objet == name_Object)
            {
                if (liste_Objet_Inventaire[i].quantite_Actuelle < liste_Objet_Inventaire[i].quantite_Maximal)
                {
                    liste_Objet_Inventaire[i].quantite_Actuelle++;
                    ajout = true;
                    break;
                }
            }
        }
        if (name_Object == "Patate")
        {
            ajout_Ingredient_Inventaire("Graine");
        }
        if (name_Object.Equals("Berries") && !MissionGUI.Instance.Missions[0].GoalsAchievement[0])
        {
            MissionGUI.Instance.Missions[0].GoalsAchievement[0] = true;
            MissionGUI.Instance.UpdatePanel();
        }
        if (ajout == false && liste_Objet_Inventaire.Count < taille_Objet_Inventaire_Max)
        {
            objet_Inventaire item = new objet_Inventaire();
            item.nom_Objet         = name_Object;
            item.quantite_Actuelle = 1;
            item.quantite_Maximal  = 1;
            item.image_Objet       = insert_Sprite(name_Object);
            liste_Objet_Inventaire.Add(item);
        }
        else if (ajout == false && liste_Objet_Inventaire.Count == taille_Objet_Inventaire_Max)
        {
            texte_Surcharge.SetActive(false);
            texte_Surcharge.SetActive(true);
            StartCoroutine(disable_Text_Overload());
        }
    }