//Déclaration de la fonction permettant de faire entre un vaisseau dans la file d'attente du centre de trie.
        public void AjouterVaisseauCentreTrie(Vaisseau mVaisseau)
        {
            File_Arrive.Enfiler(mVaisseau);

            if (etatCentreTriage == false)
            {
                DemarageProcessusTriage();
            }
        }
Exemple #2
0
        public Vaisseau Defiler()
        {
            Vaisseau mVaisseau;

            if (!FileVide())
            {
                mVaisseau = _ancre;
                _ancre    = _ancre.Suivant;
                _cpt_noeud--;
                return(mVaisseau);
            }
            else
            {
                return(null);
            }
        }
Exemple #3
0
        public void Enfiler(Vaisseau mVaisseau)
        {
            mVaisseau.Suivant = null;

            if (_ancre == null)
            {
                _ancre = mVaisseau;
                _queue = mVaisseau;
            }
            else
            {
                _queue.Suivant = mVaisseau;
                _queue         = mVaisseau;
            }
            _cpt_noeud++;
        }
        private void DechargerVaisseau(Vaisseau vaisseau)
        {
            foreach (Materiau mMateriau in vaisseau.LisetMateriau.ToList())
            {
                switch (mMateriau.TypeMateriau)
                {
                case (int)Materiau.Listemateriaux.COMBUSTIBLES_FOSSILLE:
                    TrierMateriau(ref pile_CombustibleFossile, mMateriau);
                    vaisseau.LisetMateriau.Remove(mMateriau);
                    break;

                case (int)Materiau.Listemateriaux.METAUX_LOURD:
                    TrierMateriau(ref pile_MetauxLourd, mMateriau);
                    vaisseau.LisetMateriau.Remove(mMateriau);
                    break;

                case (int)Materiau.Listemateriaux.PLUTONIUM:
                    TrierMateriau(ref pile_Plutonium, mMateriau);
                    vaisseau.LisetMateriau.Remove(mMateriau);
                    break;

                case (int)Materiau.Listemateriaux.TERRE_CONTAMINE:
                    TrierMateriau(ref pile_TerreContamine, mMateriau);
                    vaisseau.LisetMateriau.Remove(mMateriau);
                    break;

                case (int)Materiau.Listemateriaux.URANIUM:
                    TrierMateriau(ref pile_Uranium, mMateriau);
                    vaisseau.LisetMateriau.Remove(mMateriau);
                    break;
                }
            }

            //Mettre vesseau dans la file de départ.
            file_Depart.Enfiler(vaisseau);
        }
Exemple #5
0
 public File()
 {
     _ancre     = _queue = null;
     _cpt_noeud = 0;
 }