public void ObsadProvincii(Provincie porazenaProvincie) { Hrac porazenySouper = porazenaProvincie.Vlastnik; //Přepočítání priorit !!!!!!!!!!!!!!!!!!!!!!ZměnA foreach (Hrac h in Hra.Vladci) { if (h is Pocitac) { ((Pocitac)h).PrepocitejPriorityProvinciiProNovehoVlastnika(this, porazenySouper, porazenaProvincie); } } porazenaProvincie.VynulujProvincieAJednotkyProUtok(); porazenaProvincie.VynulujProvincieASurovinyProDovoz(); porazenaProvincie.VynulujProvincieProSpehovani(); porazenaProvincie.VynulujJednoktyAProvincieProPodporu(); porazenaProvincie.Ninjove.NastavPocet(0); porazenaProvincie.NinjoveMimoProvincii.NastavPocet(0); foreach (Jednotka j in porazenaProvincie.Jednotky) { j.NastavPocet(0); } SeznamProvincii.Add(porazenaProvincie); porazenySouper.SeznamProvincii.Remove(porazenaProvincie); if (this is Pocitac) { ((Pocitac)this).ZvzsPriorituVladce(porazenySouper, 1); } if (porazenySouper is Pocitac) { ((Pocitac)porazenySouper).ZvysPriorituProvincie(porazenaProvincie, 2); ((Pocitac)porazenySouper).ZvzsPriorituVladce(this, 2); } bool vladceVyhlazen = false; if (porazenySouper.SeznamProvincii.Count == 0) { //Priority - dříve - referenční pole Soupeři majngot foreach (Hrac h in Hra.Vladci) { if (h is Pocitac && h != porazenySouper) { ((Pocitac)h).OdeberSoupereZPrioritSouperuAprovincii(porazenySouper); } } Hra.OdeberVladce(porazenySouper); vladceVyhlazen = true; //Přepočítá všem hráčům ve hře jejich soupeře Hra.PrepocitejSoupereVladcu(); } if (this != Hra.Player && porazenySouper != Hra.Player) { Hra.VypisZpravuOobsazeni(Jmeno, porazenaProvincie.JmenoProvincie, porazenySouper.Jmeno, vladceVyhlazen); } }