//Override du constructeur par default qui recois le numero du centre de tri. public CentreTriage(int _noCentreTriage) { _suivant = null; _precedent = null; pile_CombustibleFossile = null; pile_Plutonium = null; pile_Uranium = null; pile_MetauxLourd = null; pile_TerreContamine = null; noCentreTriage = _noCentreTriage; DeploimentCentreTriage(); }
private void TrierMateriau(ref PileMateriau mPile, Materiau mMateriau) { if (!(mPile is null)) { if (mPile.VerifierPilePleine()) { mPile.EmpilerMateriau(mMateriau); } else { ViderPileCentre(ref mPile); mPile.EmpilerMateriau(mMateriau); } } }
private void ViderPileCentre(ref PileMateriau mPile) { Vaisseau mVaisseau; while (file_Depart.Taille_File() > 0) { mVaisseau = file_Depart.Defiler(); for (int cpt = mVaisseau.LisetMateriau.Count(); cpt < mVaisseau.Capacite && mPile.Taille_Pile() > 0; cpt++) //Vérifier pour le cpt { mVaisseau.LisetMateriau.Add(mPile.DepilerMateriau()); } if (!(_suivant is null)) //Envoi dans le centre de trie suivant. { Suivant.AjouterVaisseauCentreTrie(mVaisseau); }
//Déclaration de la fonction qui permet de créer les piles du centre de trie selon le type de centre de tri. void CreationPilesMatieres() { if (capaciteMaxPlutonium != 0) { pile_Plutonium = new PileMateriau(capaciteMaxPlutonium); } if (capaciteMaxMetauxLourd != 0) { pile_MetauxLourd = new PileMateriau(capaciteMaxMetauxLourd); } if (capaciteMaxCombustible != 0) { pile_CombustibleFossile = new PileMateriau(capaciteMaxCombustible); } if (capaciteMaxTerreContamine != 0) { pile_TerreContamine = new PileMateriau(capaciteMaxCombustible); } if (capaciteMaxUranium != 0) { pile_Uranium = new PileMateriau(capaciteMaxUranium); } }