Esempio n. 1
0
        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();
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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);
            }
        }
Esempio n. 4
0
        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;
        }
Esempio n. 5
0
        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();
        }
Esempio n. 6
0
        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();
        }
Esempio n. 7
0
        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();
        }
Esempio n. 8
0
        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;
        }