Untitled

mail@pastecode.io avatar
unknown
plain_text
2 years ago
1.9 kB
2
Indexable
Never
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Scontrino : MonoBehaviour
{
    // Start is called before the first frame update
    public float Contanti;
    [SerializeField] List<OggettiVenduti> lista = new List<OggettiVenduti>();   //lista oggetti negozio
    [SerializeField] List<OggettiComprati> scontrino = new List<OggettiComprati>();   //lista con quello che ho comprato e il totale speso
   
    //[SerializeField] List<ListaSpesa> spesa = new List<ListaSpesa>();   //lista prodotti da acquistare
    //perchè mi serve una terza lista?
    
    void Start()
    {
        for (int i=0; i< scontrino.Count; i++)
        {
            OggettiVenduti oggettoScontrino = TrovaOggetto(scontrino[i].prodottoComprato);

            if (oggettoScontrino!=null) //questo solo in caso trovasse un prodotto nell'elenco , altrimenti ci sarebbe un errore
                Contanti -=  oggettoScontrino.prezzo* scontrino[i].quantita;
          
        }

        if (Contanti < 0)
        {
            Debug.Log("Superati i contanti a disposizione: errore");
        }
        else
        {
            Debug.Log("Mi rimangono" + " " + Contanti + "€ in contanti");
        }
    
    }

    //recuperiamo l'oggetto dalla lista tramite il nome del prodotto
    OggettiVenduti TrovaOggetto(string prodotto)
    {
        for (int i = 0; i < lista.Count; i++)
        {
            if (lista[i].prodotto == prodotto)
            {
                return lista[i];
            }
        }
        return null;
    }

}

[System.Serializable]
class OggettiVenduti
{
    public string prodotto;
    public int prezzo;
}

[System.Serializable]
class OggettiComprati
{
    public string prodottoComprato;
    public int quantita=1; //ho aggiunto anche la quantità che non c'era nessun dato che lo salvava
}