Exemple #1
0
        public frmEinstellungen(ref C_Musik oC_MusikInstanz)
        {
            InitializeComponent();

            lbl_ueberschrift.Font = Grafik.GetStandardFont(Grafik.GetSchriftgRiesig());
            lbl_ueberschrift.Left = this.Width / 2 - lbl_ueberschrift.Width / 2;

            foC_MusikInstanz = oC_MusikInstanz;
        }
Exemple #2
0
        private void frmKampfereignisse_Load(object sender, System.EventArgs e)
        {
            trtText.Left = UI.NormB(trtText.Left, this.Width);
            trtText.Top  = UI.NormH(trtText.Top, this.Height);

            trtText.Width  = UI.NormB(trtText.Width, this.Width);
            trtText.Height = UI.NormH(trtText.Height, this.Height);

            lbl_nachrichten_titel.Left = UI.NormB(lbl_nachrichten_titel.Left, this.Width);
            lbl_nachrichten_titel.Top  = UI.NormH(lbl_nachrichten_titel.Top, this.Height);

            lbl_nachrichten_titel.Width = UI.NormB(lbl_nachrichten_titel.Width, this.Width);

            trtText.Font = Grafik.GetStandardFont(Convert.ToInt16(trtText.Font.Size));
            trtText.Text = "";
            lbl_nachrichten_titel.Text = "Militärische Ereignisse " + SW.Dynamisch.GetAktuellesJahr().ToString();
        }
Exemple #3
0
        /// <summary>
        /// Hier wird allen Objekten einheitlich die Standard Schriftart zugewiesen. Zusätzlich wird allen TransparentRichText Controls der Standardcursor zugeordnet.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void frmBasis_Load(object sender, EventArgs e)
        {
            // Allen Objekten einheitlich die Schrift zuweisen
            // Muss im Load, statt im Konstruktor passieren, damit die Controls und auch der Standardfont schon vorhanden sind

            if (LicenseManager.UsageMode != LicenseUsageMode.Designtime)  // Nicht im Design Mode von VS?
            {
                foreach (Control C in this.Controls)
                {
                    C.Font = Grafik.GetStandardFont(Convert.ToInt16(C.Font.Size));

                    if (C is TransparentRichText)
                    {
                        C.Cursor = this.Cursor;
                    }
                }
            }
        }
Exemple #4
0
        /// <summary>
        /// Blendet die Spielerinfo (Name und Amt, Taler und Ort sowie Datum) oben im Bereich ein, z.B. bei der Verwaltung eine Stützpunktes.
        /// Die Labels werden dafür auf dem Form gesucht bzw. automatisch erstellt und hinzugefügt, wenn sie noch nicht vorhanden sind.
        /// </summary>
        /// <param name="Form">Aktuelles Form, in dem die Infos angezeigt und ausgerichtet werden sollen</param>
        /// <param name="NurAusrichten">OPTIONAL: Gibt an, ob die Labels nur ausgerichtet oder aber aktualisiert und erstellt werden sollen</param>
        /// <param name="Ort">OPTIONAL: Aktueller Ort, z.B. die Stadt oder der Stützpunkt</param>
        /// <param name="EventHandlerMouseDown">OPTIONAL: Der gewünschte Handler für das Event "MouseDown" auf den Labels</param>
        public static void SpielerInfosAnzeigenUndAusrichten(frmBasis Form, bool NurAusrichten = false, string Ort = "", MouseEventHandler EventHandlerMouseDown = null)
        {
            Label lbl_spielernameundamt = null;
            Label lbl_taler             = null;
            Label lbl_ortdatum          = null;

            Control[] ControlSucheSpielername = Form.Controls.Find("lbl_spielernameundamt", true);
            Control[] ControlSucheTaler       = Form.Controls.Find("lbl_taler", true);
            Control[] ControlSucheOrtDatum    = Form.Controls.Find("lbl_ortdatum", true);

            if (ControlSucheSpielername.Length > 0)
            {
                lbl_spielernameundamt = (Label)ControlSucheSpielername[0];
            }
            else if (!NurAusrichten)
            {
                lbl_spielernameundamt      = LabelErstellen("lbl_spielernameundamt", "Herr/Frau Spielername, ohne Amt", new Point(375, 94), new Size(445, 32), 1, EventHandlerMouseDown);
                lbl_spielernameundamt.Font = Grafik.GetStandardFont(Grafik.GetSchriftgGross());
                Form.Controls.Add(lbl_spielernameundamt);
            }
            else
            {
                return;
            }

            if (ControlSucheTaler.Length > 0)
            {
                lbl_taler = (Label)ControlSucheTaler[0];
            }
            else if (!NurAusrichten)
            {
                lbl_taler = LabelErstellen("lbl_taler", 789910.ToStringGeld(), new Point(113, 29), new Size(176, 32), 2, EventHandlerMouseDown);
                Form.Controls.Add(lbl_taler);
            }
            else
            {
                return;
            }

            if (ControlSucheOrtDatum.Length > 0)
            {
                lbl_ortdatum = (Label)ControlSucheOrtDatum[0];
            }
            else if (!NurAusrichten)
            {
                lbl_ortdatum = LabelErstellen("lbl_ortdatum", "Kontor A.D. 1400", new Point(983, 19), new Size(231, 32), 3, EventHandlerMouseDown);
                Form.Controls.Add(lbl_ortdatum);
            }
            else
            {
                return;
            }

            // Ausrichten
            if (lbl_spielernameundamt != null)
            {
                lbl_spielernameundamt.Left = Form.Width / 2 - lbl_spielernameundamt.Width / 2;
            }
            lbl_spielernameundamt.Top = UI.NormH(51, Form.Height);

            lbl_taler.Left = UI.NormB(35, Form.Width);
            lbl_taler.Top  = UI.NormH(23, Form.Height);

            lbl_ortdatum.Left = Form.Width - lbl_ortdatum.Width - UI.NormB(35, Form.Width);
            lbl_ortdatum.Top  = lbl_taler.Top;

            if (!NurAusrichten)
            {
                // Inhalte aktualisieren
                lbl_spielernameundamt.Text = SW.Dynamisch.GetHumWithID(SW.Dynamisch.GetAktiverSpieler()).GetKompletterName();
                TalerAendern(0, ref lbl_taler);

                if (Ort != "")
                {
                    lbl_ortdatum.Text = Ort + " A.D. " + SW.Dynamisch.GetAktuellesJahr().ToString();
                }
            }
        }
Exemple #5
0
        private async void frmKampfereignisse_Shown(object sender, EventArgs e)
        {
            Kampfberechnung Kampfklasse = new Kampfberechnung();
            KampfErgebnis   Ergebnis;
            List <Lib.Gameplay.Kampf.Kampf> lstKaempfe = new List <Lib.Gameplay.Kampf.Kampf>();

            // KI Aktionen ermitteln und durchführen (bezogen auf den Stützpunkt)
            foreach (Stuetzpunkt Stuetzpunkt in SW.Dynamisch.GetStuetzpunkte())
            {
                if (Stuetzpunkt.Besitzer <= SW.Statisch.GetMinKIID())  // Ist es ein menschlicher Spieler?
                {
                    continue;
                }

                string sText = "";

                if (Stuetzpunkt.Art == EnumStuetzpunktArt.Zollburg)
                {
                    sText = (Stuetzpunkt as Zollburg).RundenendeKIAktionenDurchfuehren();
                }
                else if (Stuetzpunkt.Art == EnumStuetzpunktArt.Raeuberlager)
                {
                    sText = (Stuetzpunkt as Raeuberlager).RundenendeKIAktionenDurchfuehren();
                }

                if (sText != "")
                {
                    trtText.AppendText(sText + "\n\n");
                    ZumEndeScrollen();
                    await AufRechtsklickWarten();
                }
            }

            SW.Dynamisch.LandsicherheitenInitialisieren();

            lstKaempfe = Kampfklasse.ErmittleStattfindendeKaempfe();

            string NameAngreifer       = "";
            string NameVerteidiger     = "";
            string NameSpielerKarawane = "";
            Color  TextColor           = trtText.ForeColor;

            foreach (Lib.Gameplay.Kampf.Kampf Kampf in lstKaempfe)
            {
                Ergebnis = Kampfklasse.BerechneKampfErgebnis(Kampf);
                Kampfklasse.KampfErgebnisAnwenden(Ergebnis);

                string[] Texte = Ergebnis.Zusammenfassung.Split(new string[] { "\n\n" }, StringSplitOptions.RemoveEmptyEntries);
                NameAngreifer = SW.Dynamisch.GetSpWithID(Ergebnis.SpielerIDAngreifer).GetKompletterName();

                if (Ergebnis.SpielerIDVerteidiger > 0)
                {
                    NameVerteidiger = SW.Dynamisch.GetSpWithID(Ergebnis.SpielerIDVerteidiger).GetKompletterName();
                }
                else
                {
                    NameVerteidiger = "";
                }

                if (Ergebnis.KampfArt == EnumKampfArt.KarawanenPluenderung)
                {
                    NameSpielerKarawane = SW.Dynamisch.GetSpWithID(Ergebnis.Karawane.SpielerID).GetKompletterName();
                }
                else
                {
                    NameSpielerKarawane = "";
                }

                foreach (string Text in Texte)
                {
                    foC_MusikInstanz.MusikEinschieben_Kampf();

                    if (Text.Contains("Kampf entbrennt"))
                    {
                        foC_MusikInstanz.PlaySound(Properties.Resources.kampf_loop);
                    }
                    else if (Text.Contains("Triumph"))
                    {
                        foC_MusikInstanz.StopSound();
                    }

                    if (Text.Contains("|"))
                    {
                        string[] Teilstrings = Text.Split(new string[] { "|" }, StringSplitOptions.RemoveEmptyEntries);

                        foreach (string Str in Teilstrings)
                        {
                            if ((Str != NameAngreifer) && (Str != NameVerteidiger) && (Str != NameSpielerKarawane))
                            {
                                trtText.AddText(Str);
                                continue;
                            }

                            TextColor = trtText.ForeColor;

                            for (int i = 1; i <= SW.Dynamisch.GetAktivSpielerAnzahl(); i++)  // Alle menschlichen Spieler durchgehen
                            {
                                if (SW.Dynamisch.GetSpWithID(i).GetKompletterName() == Str)
                                {
                                    TextColor = Color.DarkRed;
                                    break;
                                }
                            }

                            trtText.AddText(Str, TextColor, new Font(Grafik.GetStandardFont(Convert.ToInt16(trtText.Font.Size)), FontStyle.Bold));  // Text eine Spielers immer fett formatieren (wenn menschlich, dann auch dunkelrot)
                        }

                        trtText.AddText("\n\n");
                    }
                    else
                    {
                        trtText.AppendText(Text + "\n\n");
                    }

                    ZumEndeScrollen();
                    await AufRechtsklickWarten();
                }
            }

            if (trtText.Text == "")
            {
                trtText.AppendText("Dieses Jahr hat sich nichts Besonderes ereignet.");
                ZumEndeScrollen();
                await AufRechtsklickWarten();
            }

            Close();
        }