Example #1
0
        public void RimuoviViaggio(Viaggio viaggio)
        {
            int tempIndex = viaggio.Indice;                                                             //salva temporaneamente la posizione del viaggio da rimuovere

            ViaggiAttivi.RemoveAt(tempIndex);                                                           //rimozione del viaggio dal vettore in posizione tempIndex

            currentIndex--;                                                                             //l'indice corrente viene decrementato
            IndexResetter(tempIndex);                                                                   //dalla posizione del viaggio rimosso in poi tutti i viaggi decrementano il loro indice
        }
Example #2
0
        public void AggiungiViaggio(Edificio mittente, Edificio destinatario, Oggetto[] merce, int nVagoni, int rigMit, int colMit, int rigDes, int colDes)
        {
            int durata = calcolaDurataViaggio(rigMit, colMit, rigDes, colDes);                                                          //calcola la durata del percorso

            ViaggiAttivi.Add(new Viaggio(mittente, destinatario, merce, nVagoni, currentIndex, durata));                                //inizializzazione nuovo viaggio

            foreach (Oggetto oggetto in ViaggiAttivi[currentIndex].Merce)                                                               //rimuove la merce dal magazzino da cui viene spedita
            {
                ViaggiAttivi[currentIndex].Mittente.RimuoviOggetto(oggetto);
            }

            currentIndex++;                                                                                                     //incrementa l'indice corrente nel vettore dei viaggi attivi
        }