public static Dizajn Ucitaj(PodaciCitac ulaz) { int id = ulaz.podatakInt(PohId); string ime = ulaz.podatak(PohIme); int pozeljnaPozicija = ulaz.podatakInt(PohPozicija); UcitanaKomp komp = ucitajKomponentu(ulaz.podatak(PohTrup)); Trup trup = Trup.TrupInfo.IzIda(komp.idInfa).naciniKomponentu(komp.nivo); Zbir <Oruzje> primOruzje; if (ulaz.ima(PohPrimOruzje)) { komp = ucitajKomponentu(ulaz.podatak(PohPrimOruzje)); primOruzje = new Zbir <Oruzje>( Oruzje.OruzjeInfo.IzIda(komp.idInfa).naciniKomponentu(komp.nivo), komp.kolicina); } else { primOruzje = new Zbir <Oruzje>(null, 0); } Zbir <Oruzje> sekOruzje; if (ulaz.ima(PohSekOruzje)) { komp = ucitajKomponentu(ulaz.podatak(PohSekOruzje)); sekOruzje = new Zbir <Oruzje>( Oruzje.OruzjeInfo.IzIda(komp.idInfa).naciniKomponentu(komp.nivo), komp.kolicina); } else { sekOruzje = new Zbir <Oruzje>(null, 0); } double udio = ulaz.podatakDouble(PohUdioPrimOruzja); Stit stit = null; if (ulaz.ima(PohStit)) { komp = ucitajKomponentu(ulaz.podatak(PohStit)); stit = Stit.StitInfo. IzIda(komp.idInfa). naciniKomponentu(komp.nivo, trup.VelicinaStita); } MZPogon mzPogon = null; if (ulaz.ima(PohMZPogon)) { komp = ucitajKomponentu(ulaz.podatak(PohMZPogon)); mzPogon = MZPogon.MZPogonInfo. IzIda(komp.idInfa). naciniKomponentu(komp.nivo, trup.VelicinaMZPogona); } komp = ucitajKomponentu(ulaz.podatak(PohOklop)); Oklop oklop = Oklop.OklopInfo.IzIda(komp.idInfa).naciniKomponentu(komp.nivo); komp = ucitajKomponentu(ulaz.podatak(PohSenzor)); Senzor senzor = Senzor.SenzorInfo.IzIda(komp.idInfa).naciniKomponentu(komp.nivo); komp = ucitajKomponentu(ulaz.podatak(PohPotisnici)); Potisnici potisnici = Potisnici.PotisnikInfo.IzIda(komp.idInfa).naciniKomponentu(komp.nivo); komp = ucitajKomponentu(ulaz.podatak(PohReaktor)); Reaktor reaktor = Reaktor.ReaktorInfo.IzIda(komp.idInfa).naciniKomponentu(komp.nivo, trup.VelicinaReaktora); int brSpecOp = ulaz.podatakInt(PohSpecOp); Dictionary <SpecijalnaOprema, int> specOprema = new Dictionary <SpecijalnaOprema, int>(); for (int i = 0; i < brSpecOp; i++) { komp = ucitajKomponentu(ulaz.podatak(PohSpecOp + i)); SpecijalnaOprema so = SpecijalnaOprema.SpecijalnaOpremaInfo. IzIda(komp.idInfa). naciniKomponentu(komp.nivo, trup.velicina); specOprema.Add(so, komp.kolicina); } return(new Dizajn(id, ime, trup, primOruzje.komponenta, sekOruzje.komponenta, udio, oklop, stit, specOprema, senzor, potisnici, mzPogon, reaktor, pozeljnaPozicija)); }