/// <summary> /// Vytvαranie vύroby /// </summary> /// <param name="paDrVyr">druh vytvαranej vύroby</param> private void VytvorVyrobu(DruhVyroby paDrVyr) { int riadok = Nahoda.NahodnyInt(0, PocetRiadkov - 3); int stlpec = Nahoda.NahodnyInt(0, PocetStlpcov - 3); Vyroba vyr = new Vyroba(paDrVyr, new Poloha(riadok, stlpec)); int riadokMax = riadok + vyr.PocetRiadkov; int stlpecMax = stlpec + vyr.PocetStlpcov; bool mUm; if (paDrVyr == DruhVyroby.RopnaPlosina) { mUm = MoznostUmiestnit(riadok, riadokMax, stlpec, stlpecMax, false, false); if (mUm) { ZoznamPrirodzenychStanic.Add(vyr.Zoskupenie); } }else if (paDrVyr == DruhVyroby.RopnaRafineria) { mUm = MoznostUmiestnit(riadok, riadokMax, stlpec, stlpecMax, false, true); } else { mUm = MoznostUmiestnit(riadok, riadokMax, stlpec, stlpecMax, true, false); } if (mUm) { for (int i = riadok; i < riadokMax; i++) { for (int j = stlpec; j < stlpecMax; j++) { aMatica[i, j].Vyroba = vyr; } } aVyroba.Add(vyr); } else { VytvorVyrobu(paDrVyr); } }
/// <summary> /// Inicializ�cia v�roby. Pre ka�d� druh, je vykonan� nie�o in� /// </summary> /// <param name="paDruh"></param> /// <param name="paPoloha"></param> public Vyroba(DruhVyroby paDruh, Poloha paPoloha) { aDok = null; aPrilahlaStanica = null; Poloha = paPoloha; OdsadenieZLava = Poloha.Stlpec * Policko.cVelkostPolicka; OdsadenieZHora = Poloha.Riadok * Policko.cVelkostPolicka; aPrijma = new List<TypPrepravJednotky>(); aProdukuje = new Dictionary<TypPrepravJednotky, int>(); aDruhVyroby = paDruh; switch (paDruh) { case DruhVyroby.Elektraren: NastavObrazok(Resources.el, "el"); aPrijma.Add(TypPrepravJednotky.uhlie); break; case DruhVyroby.Farma: NastavObrazok(Resources.farm, "farm"); aProdukuje.Add(TypPrepravJednotky.dobytok, cStrProd); aProdukuje.Add(TypPrepravJednotky.obilie, cStrProd); break; case DruhVyroby.Les: NastavObrazok(Resources.forest, "forest"); aProdukuje.Add(TypPrepravJednotky.drevo, cStrProd); break; case DruhVyroby.Oceliaren: NastavObrazok(Resources.oceliaren, "oceliaren"); aPrijma.Add(TypPrepravJednotky.zeleznaRuda); aProdukuje.Add(TypPrepravJednotky.ocel, 0); break; case DruhVyroby.Pila: NastavObrazok(Resources.sawmill, "sawmill"); aPrijma.Add(TypPrepravJednotky.drevo); aProdukuje.Add(TypPrepravJednotky.tovar, 0); break; case DruhVyroby.RopnaRafineria: NastavObrazok(Resources.rafineria, "rafineria"); aPrijma.Add(TypPrepravJednotky.ropa); aProdukuje.Add(TypPrepravJednotky.tovar, 0); break; case DruhVyroby.Tovaren: NastavObrazok(Resources.farctory, "farctory"); aPrijma.Add(TypPrepravJednotky.ocel); aPrijma.Add(TypPrepravJednotky.dobytok); aPrijma.Add(TypPrepravJednotky.obilie); aProdukuje.Add(TypPrepravJednotky.tovar, 0); break; case DruhVyroby.UholnaBana: NastavObrazok(Resources.mineCoalM, "mineCoalM"); aProdukuje.Add(TypPrepravJednotky.uhlie, cStrProd); break; case DruhVyroby.ZelezorudnaBana: NastavObrazok(Resources.mineRudaM, "mineRudaM"); aProdukuje.Add(TypPrepravJednotky.zeleznaRuda, cStrProd); break; case DruhVyroby.RopnaPlosina: NastavObrazok(Resources.oilPlat, "oilPlat"); aProdukuje.Add(TypPrepravJednotky.ropa, cStrProd); aDok = new Dok(Poloha); Zoskupenie = new ZoskupenieStanic(); Zoskupenie.PridajStanicu(aDok); Zoskupenie.PridajVyrobu(this); aDok.Zoskupenie = Zoskupenie; break; case DruhVyroby.Mesto: NastavObrazok(Resources.city, "city"); aPrijma.Add(TypPrepravJednotky.tovar); aPrijma.Add(TypPrepravJednotky.cestujuci); aPrijma.Add(TypPrepravJednotky.posta); aProdukuje.Add(TypPrepravJednotky.cestujuci, 0); aProdukuje.Add(TypPrepravJednotky.posta, 0); break; } this.ZmenProdukciu(); }