public static IgraZvj Ucitaj(string ulaz) { PodaciCitac citac = PodaciCitac.Procitaj(ulaz); int brKruga = citac.podatakInt(PohKrug); int trenutniIgrac = citac.podatakInt(PohTrenutniIgrac); int brIgraca = citac.podatakInt(PohBrIgraca); Mapa mapa = Mapa.Ucitaj(citac[Mapa.PohranaTip]); List <Igrac> igraci = new List <Igrac>(); for (int i = 0; i < brIgraca; i++) { Igrac igrac = Igrac.Ucitaj(citac[Igrac.PohranaTip + i], mapa); if (igrac.tip == Igrac.Tip.RACUNALO) { igrac.Upravljac = new ORIKoordinator(igrac); } igraci.Add(igrac); } Dictionary <int, Zvijezda> zvijezdeID = new Dictionary <int, Zvijezda>(); foreach (Zvijezda zvj in mapa.zvijezde) { zvijezdeID.Add(zvj.id, zvj); } Dictionary <int, Zgrada.ZgradaInfo> zgradeInfoID = new Dictionary <int, Zgrada.ZgradaInfo>(Zgrada.ZgradaInfoID); foreach (Igrac igrac in igraci) { foreach (DizajnZgrada dizajZgrada in igrac.dizajnoviBrodova) { zgradeInfoID.Add(dizajZgrada.id, dizajZgrada); Dizajn.ProvjeriId(dizajZgrada.dizajn); } } int brKolonija = citac.podatakInt(Kolonija.PohranaTip); for (int i = 0; i < brKolonija; i++) { Kolonija kolonija = Kolonija.Ucitaj( citac[Kolonija.PohranaTip + i], igraci, zvijezdeID, zgradeInfoID); kolonija.planet.kolonija = kolonija; } int brUprava = citac.podatakInt(ZvjezdanaUprava.PohranaTip); for (int i = 0; i < brUprava; i++) { ZvjezdanaUprava zvjUprava = ZvjezdanaUprava.Ucitaj( citac[ZvjezdanaUprava.PohranaTip + i], igraci, zvijezdeID, zgradeInfoID); zvjUprava.LokacijaZvj.uprave[zvjUprava.Igrac.id] = zvjUprava; } return(new IgraZvj(igraci, trenutniIgrac, mapa, brKruga)); }