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; }
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(); }
/// <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; } } } }
/// <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(); } } }
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(); }