public FormDizajn(Igrac igrac) { this.igrac = igrac; dizajner = new Dizajner(igrac); // inicijalizacija GUIa InitializeComponent(); this.Text = jezik["tabNoviDizajn"].tekst(); foreach (Trup trup in dizajner.trupovi) { cbVelicina.Items.Add(trup); } foreach (int pozicija in Pozicije.PonudjenePozicije()) { cbTaktika.Items.Add(new TagTekst <int>(pozicija, Pozicije.Naziv(pozicija))); } foreach (SpecijalnaOprema so in dizajner.trupKomponente.specijalnaOprema) { ListViewItem item = new ListViewItem(""); item.SubItems.Add(so.naziv); item.Tag = so; lstvSpecOprema.Items.Add(item); } // jezik btnSpremi.Text = jezik["btnSpremi"].tekst(); chSpecOpNaziv.Text = jezik["chSpecOpNaziv"].tekst(); lblNaziv.Text = jezik["lblNaziv"].tekst() + ":"; lblPrimMisija.Text = jezik["lblPrimMisija"].tekst() + ":"; lblSekMisija.Text = jezik["lblSekMisija"].tekst() + ":"; lblSpecOprema.Text = jezik["lblSpecOprema"].tekst() + ":"; lblStit.Text = jezik["lblStit"].tekst() + ":"; lblTaktika.Text = jezik["lblTaktika"].tekst() + ":"; lblUdioSek.Text = jezik["lblUdioSek"].tekst() + ":"; lblVelicina.Text = jezik["lblVelicina"].tekst() + ":"; this.Text = jezik["tabNoviDizajn"].tekst(); if (dizajner.dizajnMZPogon) { Dictionary <string, double> varijable = new Dictionary <string, double>(); varijable.Add("BRZINA", dizajner.dizajn.MZbrzina); chMZpogon.Text = jezik["chNDMZpogon"].tekst(varijable); } else { chMZpogon.Text = jezik["chNDMZpogonNema"].tekst(); } }
public FormBorba(ModeratorBorbe borba, Zvijezda lokacija) { this.borba = borba; InitializeComponent(); this.Text = lokacija.ime; picSelectAll.Image = Zvjezdojedac.Podaci.Slike.BoraciSvi; foreach (var pozicija in Pozicije.PonudjenePozicije()) { cbPozicija.Items.Add(new TagTekst <int>(pozicija, Pozicije.Naziv(pozicija))); } postaviPozicije(); pocetakKruga(); var jezik = Postavke.Jezik[Kontekst.Bitka]; lblZapovijed.Text = jezik["lblZapovijed"].tekst(); btnPosalji.Text = jezik["btnPosalji"].tekst(); btnKrajKruga.Text = jezik["btnKrajKruga"].tekst(); }
private void btnPosalji_Click(object sender, EventArgs e) { if (listPositions.SelectedItem == null || cbPozicija.SelectedItem == null) { return; } List <Borac> borci = (listPositions.SelectedItem as TagTekst <List <Borac> >).tag; if (borci.Count == 0) { return; } int kolicina = (borci.Count > TrackLargeQuantity) ? (int)(borci.Count * (trackKolicina.Value / (double)TrackLargeQuantity)) : trackKolicina.Value; int novoOdrediste = (cbPozicija.SelectedItem as TagTekst <int>).tag; int staroOdrediste = borci[0].CiljnaPozicija; int indeksOd, indeksDo; if (novoOdrediste > staroOdrediste) { indeksOd = 0; indeksDo = kolicina; } else { indeksOd = borci.Count - kolicina; indeksDo = borci.Count; } List <Borac> odredisniaLista = (listPositions.Items[novoOdrediste] as TagTekst <List <Borac> >).tag; odredisniaLista.AddRange(borci.GetRange(indeksOd, kolicina)); borci.RemoveRange(indeksOd, kolicina); foreach (Borac borac in odredisniaLista) { borac.CiljnaPozicija = novoOdrediste; } listPositions.Items[staroOdrediste] = new TagTekst <List <Borac> >(borci, Fje.PrefiksFormater(borci.Count) + " " + Pozicije.Naziv(staroOdrediste)); listPositions.Items[novoOdrediste] = new TagTekst <List <Borac> >(odredisniaLista, Fje.PrefiksFormater(odredisniaLista.Count) + " " + Pozicije.Naziv(novoOdrediste)); listPositions.SelectedIndex = novoOdrediste; }
private void borci_OnSelect(object sender, ObjectEventArgs <ICollection <Borac> > eventArgs) { if (!borba.LijevaStrana.Contains(eventArgs.Value.First().Igrac)) { prikazZapovijedi(false); return; } prikazZapovijedi(true); Dictionary <int, List <Borac> > raspodjelaBoraca = new Dictionary <int, List <Borac> >(); for (int slot = 0; slot <= Pozicije.MaxPozicija; slot++) { raspodjelaBoraca.Add(slot, new List <Borac>()); } foreach (Borac borac in eventArgs.Value) { raspodjelaBoraca[borac.CiljnaPozicija].Add(borac); } int maxKolicina = 0; listPositions.Items.Clear(); for (int slot = 0; slot <= Pozicije.MaxPozicija; slot++) { raspodjelaBoraca[slot].Sort( (a, b) => a.IzdrzljivostOklopa.CompareTo(b.IzdrzljivostOklopa)); listPositions.Items.Add(new TagTekst <List <Borac> >( raspodjelaBoraca[slot], Fje.PrefiksFormater(raspodjelaBoraca[slot].Count) + " " + Pozicije.Naziv(slot))); if (raspodjelaBoraca[slot].Count > raspodjelaBoraca[maxKolicina].Count) { maxKolicina = slot; } } listPositions.SelectedIndex = maxKolicina; }
private List <string> opis(InfoStranice stranica, Dizajn dizajn, bool cijene) { List <string> opis = new List <string>(); Dictionary <string, ITekst> jezik = Postavke.Jezik[Kontekst.FormFlote]; switch (stranica) { case InfoStranice.MZPogon: opis.Add(jezik["opisMZPogon"].tekst()); opis.Add(""); if (dizajn.MZPogon == null) { opis.Add(jezik["opisNemaMZPogon"].tekst()); } else { opis.Add(dizajn.MZPogon.info.naziv); if (dizajn.MZPogon.maxNivo > 0) { opis.Add(jezik["opisNivo"].tekst() + ": " + dizajn.MZPogon.nivo); } opis.Add(jezik["opisMZPogonBrz"].tekst() + ": " + dizajn.MZbrzina.ToString("0.###")); if (cijene) { opis.Add(jezik["opisSnaga"].tekst() + ": " + Fje.PrefiksFormater(dizajn.MZPogon.snaga)); opis.Add(jezik["opisCijena"].tekst() + ": " + Fje.PrefiksFormater(dizajn.MZPogon.cijena)); } } break; case InfoStranice.Pokretljivost: opis.Add(jezik["opisPokret"].tekst()); opis.Add(""); opis.Add(dizajn.potisnici.naziv); if (dizajn.potisnici.maxNivo > 0) { opis.Add(jezik["opisNivo"].tekst() + ": " + dizajn.reaktor.nivo); } opis.Add(jezik["opisTromost"].tekst() + ": " + dizajn.inercija); opis.Add(jezik["opisPokret"].tekst() + ": " + Fje.PrefiksFormater(dizajn.pokretljivost)); break; case InfoStranice.PrimarnaMisija: opis = opisOruzja(true, dizajn.primarnoOruzje, cijene); break; case InfoStranice.Reaktor: opis.Add(jezik["opisReaktor"].tekst()); opis.Add(""); opis.Add(dizajn.reaktor.naziv); if (dizajn.reaktor.maxNivo > 0) { opis.Add(jezik["opisNivo"].tekst() + ": " + dizajn.reaktor.nivo); } opis.Add(jezik["opisReaktorOp"].tekst() + ": " + Fje.PrefiksFormater(dizajn.opterecenjeReaktora)); opis.Add(jezik["opisReaktorDost"].tekst() + ": " + Fje.PrefiksFormater(dizajn.snagaReaktora) + " (" + (dizajn.koefSnageReaktora * 100).ToString("0") + "%)"); break; case InfoStranice.SekundarnaMisija: opis = opisOruzja(false, dizajn.sekundarnoOruzje, cijene); break; case InfoStranice.Senzori: opis.Add(jezik["opisSenzor"].tekst()); opis.Add(""); //opis.Add(Fje.PrefiksFormater(dizajn.brSenzora) + " x " + dizajn.senzor.naziv); if (dizajn.senzor.maxNivo > 0) { opis.Add(jezik["opisNivo"].tekst() + ": " + dizajn.senzor.nivo); } opis.Add(jezik["opisSenzorSn"].tekst() + ": " + Fje.PrefiksFormater(dizajn.snagaSenzora)); //opis.Add(jezik["opisSenzorOm"].tekst() + ": " + Fje.PrefiksFormater(dizajn.ometanje)); //opis.Add(jezik["opisSenzorPrik"].tekst() + ": " + Fje.PrefiksFormater(dizajn.prikrivenost)); break; case InfoStranice.SpecijalnaOprema: opis.Add(jezik["opisSpecOp"].tekst()); opis.Add(""); if (specijalnaOpremaZaOpis != null) { if (dizajn.specijalnaOprema.ContainsKey(specijalnaOpremaZaOpis)) { opis.Add(dizajn.specijalnaOprema[specijalnaOpremaZaOpis] + " x " + specijalnaOpremaZaOpis.naziv); } else { opis.Add(specijalnaOpremaZaOpis.naziv); } if (specijalnaOpremaZaOpis.maxNivo > 0) { opis.Add(jezik["opisNivo"].tekst() + ": " + specijalnaOpremaZaOpis.nivo); } opis.AddRange(specijalnaOpremaZaOpis.opisEfekata); if (cijene) { opis.Add(""); opis.Add(jezik["opisVelicina"].tekst() + ": " + Fje.PrefiksFormater(specijalnaOpremaZaOpis.velicina)); opis.Add(jezik["opisCijena"].tekst() + ": " + Fje.PrefiksFormater(specijalnaOpremaZaOpis.cijena)); } } break; case InfoStranice.Stit: opis.Add(jezik["opisStit"].tekst()); opis.Add(""); if (dizajn.stit == null) { opis.Add(jezik["opisNemaStit"].tekst()); } else { opis.Add(dizajn.stit.naziv); if (dizajn.stit.maxNivo > 0) { opis.Add(jezik["opisNivo"].tekst() + ": " + dizajn.stit.nivo); } opis.Add(jezik["opisStitIzd"].tekst() + ": " + Fje.PrefiksFormater(dizajn.stit.izdrzljivost)); opis.Add(jezik["opisStitObn"].tekst() + ": " + Fje.PrefiksFormater(dizajn.stit.obnavljanje)); opis.Add(jezik["opisStitDeb"].tekst() + ": " + Fje.PrefiksFormater(dizajn.stit.debljina)); opis.Add(jezik["opisStitOm"].tekst() + ": " + dizajn.stit.ometanje.ToString("+0;-0")); opis.Add(jezik["opisStitPrik"].tekst() + ": +" + Fje.PrefiksFormater(dizajn.stit.prikrivanje)); if (cijene) { opis.Add(""); opis.Add(jezik["opisSnaga"].tekst() + ": " + Fje.PrefiksFormater(dizajn.stit.snaga)); opis.Add(jezik["opisCijena"].tekst() + ": " + Fje.PrefiksFormater(dizajn.stit.cijena)); } } break; case InfoStranice.Taktika: Pozicije.EfektUdaljenosti efektUdaljenosti = Pozicije.EfektUdaljenosti.Izracunaj(dizajn.pozeljnaPozicija + Pozicije.UobicajenaPozicija); opis.Add(jezik["opisTaktika"].tekst()); opis.Add(""); opis.Add(Pozicije.Naziv(dizajn.pozeljnaPozicija)); opis.Add(jezik["opisTaktikaPrec"].tekst() + ": x" + efektUdaljenosti.Preciznost); opis.Add(jezik["opisSenzorSn"].tekst() + ": x" + efektUdaljenosti.SnagaSenzora); break; } return(opis); }