private void prikazStita(IKomponenta komponentaObj) { Trup trup = ((TagTekst <Trup>)cbOpVelicine.SelectedItem).tag; Stit stit = (Stit)komponentaObj; stit = stit.info.naciniKomponentu(stit.nivo, trup.VelicinaStita); Dictionary <string, ITekst> jezik = Postavke.Jezik[Kontekst.FormFlote]; StringBuilder sb = new StringBuilder(txtOpOpis.Text); sb.AppendLine(); sb.AppendLine(); sb.AppendLine(jezik["opisStitIzd"].tekst() + ": " + Fje.PrefiksFormater(stit.izdrzljivost * trup.BazaStita)); sb.AppendLine(jezik["opisStitDeb"].tekst() + ": " + Fje.PrefiksFormater(stit.debljina)); sb.AppendLine(jezik["opisStitUbl"].tekst() + ": " + Fje.PrefiksFormater(stit.ublazavanjeStete, jezik["opisStitUblInf"].tekst())); sb.AppendLine(jezik["opisStitObn"].tekst() + ": " + Fje.PrefiksFormater(stit.obnavljanje * trup.BazaStita)); sb.AppendLine(jezik["opisStitOm"].tekst() + ": " + stit.ometanje.ToString("+0;-0")); sb.AppendLine(jezik["opisStitPrik"].tekst() + ": +" + Fje.PrefiksFormater(stit.prikrivanje)); sb.AppendLine(); jezik = Postavke.Jezik[Kontekst.FormTech]; sb.AppendLine(jezik["opCijena"].tekst() + ": " + Fje.PrefiksFormater(stit.cijena)); sb.AppendLine(jezik["opSnaga"].tekst() + ": " + Fje.PrefiksFormater(stit.snaga)); sb.AppendLine(jezik["opVelicina"].tekst() + ": " + Fje.PrefiksFormater(trup.VelicinaStita)); txtOpOpis.Text = sb.ToString(); }
private void cbNDvelicina_SelectedIndexChanged(object sender, EventArgs e) { Trup trup = (Trup)cbNDvelicina.SelectedItem; dizajner.odabranTrup = trup; if (dizajner.komponente[trup].mzPogon == null) { chNDMZpogon.Checked = false; chNDMZpogon.Enabled = false; } else { chNDMZpogon.Enabled = true; } foreach (ListViewItem item in lstvNDspecOprema.Items) { int indeks = (int)item.Tag; item.SubItems[2].Text = dizajner.trupKomponente.specijalnaOprema[indeks].velicina.ToString(); } if (lstvNDspecOprema.SelectedItems.Count != 0) { SpecijalnaOprema so = dizajner.trupKomponente.specijalnaOprema[lstvNDspecOprema.SelectedIndices[0]]; specijalnaOpremaZaOpis = so; } osvjeziNDstatistike(); prebaciNDopis(InfoStranice.Pokretljivost); }
public Komponente(Igrac igrac, Trup trup) { mzPogon = MZPogon.MZPogonInfo.NajboljiMZPogon(igrac.efekti, trup.VelicinaMZPogona); reaktor = Reaktor.ReaktorInfo.NajboljiReaktor(igrac.efekti, trup.VelicinaReaktora); specijalnaOprema = SpecijalnaOprema.SpecijalnaOpremaInfo.DostupnaOprema(igrac.efekti, trup.velicina); stitovi = Stit.StitInfo.DostupniStitovi(igrac.efekti, trup.VelicinaStita); specijalnaOpremaInfo = new Dictionary <SpecijalnaOprema.SpecijalnaOpremaInfo, SpecijalnaOprema>(); foreach (SpecijalnaOprema so in specijalnaOprema) { specijalnaOpremaInfo.Add(so.info, so); } stitoviInfo = new Dictionary <Stit.StitInfo, Stit>(); foreach (Stit stit in stitovi) { stitoviInfo.Add(stit.info, stit); } }
private void cbVelicina_SelectedIndexChanged(object sender, EventArgs e) { Trup trup = (Trup)cbVelicina.SelectedItem; dizajner.odabranTrup = trup; if (dizajner.komponente[trup].mzPogon == null) { chMZpogon.Checked = false; chMZpogon.Enabled = false; } else { chMZpogon.Enabled = true; } osvjeziStatistike(); picSlika.Image = dizajner.odabranTrup.slika; Postavke.PrethodnaVelicinaBroda = cbVelicina.SelectedIndex; }
private void prikazSpecOp(IKomponenta komponentaObj) { Trup trup = ((TagTekst <Trup>)cbOpVelicine.SelectedItem).tag; SpecijalnaOprema so = (SpecijalnaOprema)komponentaObj; so = so.info.naciniKomponentu(so.nivo, trup.velicina); Dictionary <string, ITekst> jezik = Postavke.Jezik[Kontekst.FormFlote]; StringBuilder sb = new StringBuilder(txtOpOpis.Text); sb.AppendLine(); sb.AppendLine(); foreach (string efekt in so.opisEfekata) { sb.AppendLine(efekt); } sb.AppendLine(); jezik = Postavke.Jezik[Kontekst.FormTech]; sb.AppendLine(jezik["opCijena"].tekst() + ": " + Fje.PrefiksFormater(so.cijena)); sb.AppendLine(jezik["opVelicina"].tekst() + ": " + Fje.PrefiksFormater(so.velicina)); txtOpOpis.Text = sb.ToString(); }
private void prikazTrupa(IKomponenta komponentaObj) { Trup trup = (Trup)komponentaObj; Dictionary <string, ITekst> jezik = Postavke.Jezik[Kontekst.FormTech]; StringBuilder sb = new StringBuilder(txtOpOpis.Text); sb.AppendLine(); sb.AppendLine(); sb.AppendLine(jezik["opTrupVelicina"].tekst() + ": " + Fje.PrefiksFormater(trup.velicina)); sb.AppendLine(jezik["opTrupProstor"].tekst() + ": " + Fje.PrefiksFormater(trup.Nosivost)); sb.AppendLine(jezik["opTrupTromost"].tekst() + ": " + trup.Tromost); sb.AppendLine(jezik["opCijena"].tekst() + ": " + Fje.PrefiksFormater(trup.Cijena)); sb.AppendLine(); sb.AppendLine(jezik["opTrupOklop"].tekst() + ": " + Fje.PrefiksFormater(trup.BazaOklopa)); sb.AppendLine(jezik["opTrupOklopUblBaza"].tekst() + ": x" + trup.BazaOklopUblazavanja.ToString("0.##")); sb.AppendLine(jezik["opTrupStit"].tekst() + ": " + Fje.PrefiksFormater(trup.BazaStita)); sb.AppendLine(jezik["opTrupPrik"].tekst() + ": " + trup.OmetanjeBaza); sb.AppendLine(jezik["opTrupSenzori"].tekst() + ": " + trup.SenzorPlus.ToString("+0;-0")); sb.AppendLine(); sb.AppendLine(jezik["opTrupVelReak"].tekst() + ": " + trup.VelicinaReaktora + " " + jezik["opTrupRezerv"].tekst()); sb.AppendLine(jezik["opTrupVelMZ"].tekst() + ": " + trup.VelicinaMZPogona); txtOpOpis.Text = sb.ToString(); }
private void prikazOstalog(IKomponenta komponentaObj) { Trup trup = ((TagTekst <Trup>)cbOpVelicine.SelectedItem).tag; int indeks = lstOprema.SelectedIndices[0]; Dictionary <string, ITekst> jezik = Postavke.Jezik[Kontekst.FormFlote]; Dictionary <string, ITekst> jezikTech = Postavke.Jezik[Kontekst.FormTech]; StringBuilder sb = new StringBuilder(txtOpOpis.Text); sb.AppendLine(); sb.AppendLine(); if (indeks < opremaOstaloZadnjiIndeks[0]) { cbOpVelicine.Visible = false; Oklop oklop = (Oklop)komponentaObj; sb.AppendLine(jezik["opisOklopIzd"].tekst() + ": x" + oklop.izdrzljivost.ToString("0.##")); sb.AppendLine(jezik["opisOklopUblKoef"].tekst() + ": " + oklop.ublazavanjeSteteKoef.ToString("0.##")); sb.AppendLine(jezik["opisOklopUblMax"].tekst() + ": x" + oklop.ublazavanjeSteteMax.ToString("0.##")); } else if (indeks < opremaOstaloZadnjiIndeks[1]) { cbOpVelicine.Visible = true; MZPogon pogon = (MZPogon)komponentaObj; pogon = pogon.info.naciniKomponentu(pogon.nivo, trup.VelicinaMZPogona); jezik = jezikTech; if (trup.VelicinaMZPogona >= pogon.info.minimalnaVelicina(pogon.nivo)) { sb.AppendLine(jezik["opMZbrzina"].tekst() + ": " + pogon.brzina.ToString("0.###")); sb.AppendLine(); sb.AppendLine(jezik["opCijena"].tekst() + ": " + Fje.PrefiksFormater(pogon.cijena)); sb.AppendLine(jezik["opSnaga"].tekst() + ": " + Fje.PrefiksFormater(pogon.snaga)); sb.AppendLine(jezik["opVelicina"].tekst() + ": " + Fje.PrefiksFormater(trup.VelicinaMZPogona)); } else { sb.AppendLine(jezik["opMinVel"].tekst() + ": " + Fje.PrefiksFormater(pogon.info.minimalnaVelicina(pogon.nivo))); sb.AppendLine(jezik["opNeStane"].tekst()); } } else if (indeks < opremaOstaloZadnjiIndeks[2]) { cbOpVelicine.Visible = false; Potisnici potisnici = (Potisnici)komponentaObj; sb.AppendLine(jezik["opisPokret"].tekst() + ": " + Fje.PrefiksFormater(potisnici.brzina)); } else if (indeks < opremaOstaloZadnjiIndeks[3]) { cbOpVelicine.Visible = true; Reaktor reaktor = (Reaktor)komponentaObj; reaktor = reaktor.info.naciniKomponentu(reaktor.nivo, trup.VelicinaReaktora); sb.AppendLine(jezikTech["opMinVel"].tekst() + ": " + Fje.PrefiksFormater(reaktor.info.minimalnaVelicina(reaktor.nivo))); if (trup.VelicinaReaktora >= reaktor.info.minimalnaVelicina(reaktor.nivo)) { sb.AppendLine(jezik["opisReaktorDost"].tekst() + ": " + Fje.PrefiksFormater(reaktor.snaga)); } else { sb.AppendLine(jezikTech["opNeStane"].tekst()); } } else if (indeks < opremaOstaloZadnjiIndeks[4]) { cbOpVelicine.Visible = false; Senzor senzor = (Senzor)komponentaObj; sb.AppendLine(jezik["opisSenzorSn"].tekst() + ": " + Fje.PrefiksFormater(senzor.razlucivost)); } txtOpOpis.Text = sb.ToString(); }
private void InicijalizirajOpremu() { Dictionary <string, ITekst> jezik = Postavke.Jezik[Kontekst.FormTech]; List <ListViewItem> items = new List <ListViewItem>(); Font fontBold = new Font(lstOprema.Font, FontStyle.Bold); Font fontItalic = new Font(lstOprema.Font, FontStyle.Italic); Trup najveci = null; #region Trupovi cbOpKategorija.Items.Add(new TagTekst <KategorijaOpreme>(KategorijaOpreme.Trup, jezik["opKatTrup"].tekst())); items = new List <ListViewItem>(); foreach (Trup trup in Trup.TrupInfo.DostupniTrupovi(igrac.efekti)) { items.Add(komponentaListViewItem(trup)); if (najveci == null) { najveci = trup; } if (trup.velicina > najveci.velicina) { najveci = trup; } cbOpVelicine.Items.Add(new TagTekst <Trup>(trup, trup.naziv)); } opremaStavke.Add(KategorijaOpreme.Trup, items.ToArray()); prikaziKomponenti.Add(KategorijaOpreme.Trup, prikazTrupa); #endregion #region Misije cbOpKategorija.Items.Add(new TagTekst <KategorijaOpreme>(KategorijaOpreme.Misija, jezik["opKatMisija"].tekst())); items = new List <ListViewItem>(); Dictionary <Misija.Tip, List <Oruzje> > misije = Oruzje.OruzjeInfo.DostupnaOruzja(igrac.efekti); for (int misijaId = 0; misijaId < (int)Misija.Tip.N; misijaId++) { Misija.Tip misijaTip = (Misija.Tip)misijaId; if (!misije.ContainsKey(misijaTip)) { continue; } items.Add(specLVItem(Misija.Opisnici[misijaTip].naziv, fontBold)); foreach (Oruzje oruzje in misije[misijaTip]) { items.Add(komponentaListViewItem(oruzje)); } } opremaStavke.Add(KategorijaOpreme.Misija, items.ToArray()); prikaziKomponenti.Add(KategorijaOpreme.Misija, prikazOruzja); #endregion #region Stitovi cbOpKategorija.Items.Add(new TagTekst <KategorijaOpreme>(KategorijaOpreme.Stit, jezik["opKatStit"].tekst())); items = new List <ListViewItem>(); foreach (Stit stit in Stit.StitInfo.DostupniStitovi(igrac.efekti, najveci.VelicinaStita)) { items.Add(komponentaListViewItem(stit)); } opremaStavke.Add(KategorijaOpreme.Stit, items.ToArray()); prikaziKomponenti.Add(KategorijaOpreme.Stit, prikazStita); #endregion #region Specijalna oprema cbOpKategorija.Items.Add(new TagTekst <KategorijaOpreme>(KategorijaOpreme.Specijalno, jezik["opKatSpecOp"].tekst())); items = new List <ListViewItem>(); foreach (SpecijalnaOprema so in SpecijalnaOprema.SpecijalnaOpremaInfo.DostupnaOprema(igrac.efekti, najveci.velicina)) { items.Add(komponentaListViewItem(so)); } opremaStavke.Add(KategorijaOpreme.Specijalno, items.ToArray()); prikaziKomponenti.Add(KategorijaOpreme.Specijalno, prikazSpecOp); #endregion #region Ostalo cbOpKategorija.Items.Add(new TagTekst <KategorijaOpreme>(KategorijaOpreme.Ostalo, jezik["opKatOstalo"].tekst())); items = new List <ListViewItem>(); jezik = Postavke.Jezik[Kontekst.FormFlote]; items.Add(specLVItem(jezik["infoOklop"].tekst(), fontBold)); foreach (Oklop komp in Oklop.OklopInfo.Dostupni(igrac.efekti)) { items.Add(komponentaListViewItem(komp)); } opremaOstaloZadnjiIndeks[0] = items.Count; items.Add(specLVItem(jezik["infoMZPogon"].tekst(), fontBold)); foreach (MZPogon komp in MZPogon.MZPogonInfo.Dostupni(igrac.efekti)) { items.Add(komponentaListViewItem(komp)); } opremaOstaloZadnjiIndeks[1] = items.Count; items.Add(specLVItem(jezik["infoPotisnici"].tekst(), fontBold)); foreach (Potisnici komp in Potisnici.PotisnikInfo.Dostupni(igrac.efekti)) { items.Add(komponentaListViewItem(komp)); } opremaOstaloZadnjiIndeks[2] = items.Count; items.Add(specLVItem(jezik["infoReaktor"].tekst(), fontBold)); foreach (Reaktor komp in Reaktor.ReaktorInfo.Dostupni(igrac.efekti)) { items.Add(komponentaListViewItem(komp)); } opremaOstaloZadnjiIndeks[3] = items.Count; items.Add(specLVItem(jezik["infoSenzori"].tekst(), fontBold)); foreach (Senzor komp in Senzor.SenzorInfo.Dostupni(igrac.efekti)) { items.Add(komponentaListViewItem(komp)); } opremaOstaloZadnjiIndeks[4] = items.Count; opremaStavke.Add(KategorijaOpreme.Ostalo, items.ToArray()); prikaziKomponenti.Add(KategorijaOpreme.Ostalo, prikazOstalog); #endregion foreach (var kategorija in opremaStavke.Keys) { if (opremaStavke[kategorija].Length == 0) { ListViewItem item = specLVItem(jezik["nemaOp"].tekst(), fontItalic); opremaStavke[kategorija] = new ListViewItem[] { item }; } } cbOpKategorija.SelectedIndex = 0; cbOpVelicine.SelectedIndex = 0; }