public override void PromijeniStanje(VrstaStanja novoStanje) { switch (novoStanje) { case VrstaStanja.Parkirano: this.trenutnoStanje = novoStanje; vozilo.StanjeVozila = new Parkirano(this); break; case VrstaStanja.Skupljanje: break; case VrstaStanja.Pokvareno: this.trenutnoStanje = novoStanje; vozilo.StanjeVozila = new Pokvareno(this); break; case VrstaStanja.Kontrola: this.trenutnoStanje = novoStanje; vozilo.StanjeVozila = new Kontrola(this); break; case VrstaStanja.Praznjenje: this.trenutnoStanje = novoStanje; vozilo.StanjeVozila = new Parkirano(this); //TODO: u stanje praznjenje break; default: break; } }
public override void PromijeniStanje(VrstaStanja novoStanje) { switch (novoStanje) { case VrstaStanja.Praznjenje: this.trenutnoStanje = novoStanje; vozilo.StanjeVozila = new Praznjenje(this); break; default: Program.Ispisivac.ObavljeniPosao($"Vozilo {vozilo.ID} je u kvaru! Ne moze u stanje {novoStanje}, vec samo u stanje {VrstaStanja.Praznjenje}."); break; } }
public Parkirano(VrstaStanja stanje, Vozilo vozilo) { this.trenutnoStanje = stanje; this.vozilo = vozilo; }
/// <summary> /// /// </summary> /// <param name="novoStanje"></param> public abstract void PromijeniStanje(VrstaStanja novoStanje);
public void PromijeniStanje(VrstaStanja novoStanje) { _stanjeVozila.PromijeniStanje(novoStanje); }