Ejemplo n.º 1
0
        public void Mourrir(PersonnageAbstrait unPerso)
        {
            System.Windows.Application.Current.Dispatcher.Invoke(
                DispatcherPriority.Normal,
                (Action) delegate()
            {
                unPerso.ListEtape.Add(new Etape(0, "Je meurs.......", unPerso.Position.X, unPerso.Position.Y));
                PersonnagesMortList.Add(unPerso);
                PersonnagesList.Remove(unPerso);
                meteo.ListObservateur.Remove(unPerso);
                ListObservateur.Remove(unPerso);
                if (unPerso.Equals(reine))
                {
                    List <PersonnageAbstrait> princesses = PersonnagesList.Where(x => x.GetType().Equals(typeof(Princesse))).ToList();

                    if (princesses.Count > 0)
                    {
                        Princesse nouvelleReine = (Princesse)princesses[0];
                        coordMaison.X           = nouvelleReine.Position.X;
                        coordMaison.Y           = nouvelleReine.Position.Y;
                        reine = Reine.RemplacerReine(nouvelleReine);
                        PersonnagesList.Remove(nouvelleReine);
                        PersonnagesList.Add(reine);
                    }
                    else
                    {
                        reine = null;
                    }
                }
            }
                );
        }
Ejemplo n.º 2
0
        public override void AjouterOuvriere()
        {
            PersonnageAbstrait g = Fabrique.CreerOuvriere(String.Format("Ouvriere {0}", PersonnagesList.Count), Fabrique.CreerPosition(coordMaison.X, coordMaison.Y), coordMaison);

            PersonnagesList.Add(g);
            ListObservateur.Add(g);
            meteo.ListObservateur.Add(g);
        }
Ejemplo n.º 3
0
 public void AjouterFourmi(PersonnageAbstrait fourmi)
 {
     System.Windows.Application.Current.Dispatcher.Invoke(
         DispatcherPriority.Normal,
         (Action) delegate()
     {
         PersonnagesList.Add(fourmi);
         meteo.Attach(fourmi);
         ListObservateur.Add(fourmi);
     }
         );
 }
Ejemplo n.º 4
0
 public void Detach(PersonnageAbstrait observer)
 {
     ListObservateur.Remove(observer);
 }
Ejemplo n.º 5
0
 public void Attach(PersonnageAbstrait observer)
 {
     ListObservateur.Add(observer);
 }
Ejemplo n.º 6
0
 public void Attach(PersonnageAbstrait observer)
 {
     ListObservateur.Add(observer);
     observer.maj(this.Etat);
 }