diff --git a/Conspiratio.Lib.sln b/Conspiratio.Lib.sln index c798f88..49e91b3 100644 --- a/Conspiratio.Lib.sln +++ b/Conspiratio.Lib.sln @@ -1,7 +1,7 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 16 -VisualStudioVersion = 16.0.29613.14 +# Visual Studio Version 17 +VisualStudioVersion = 17.11.35327.3 MinimumVisualStudioVersion = 10.0.40219.1 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Conspiratio.Lib", "Conspiratio.Lib\Conspiratio.Lib.csproj", "{98ACB1BC-6708-4119-A1DC-23E3DEF08007}" EndProject diff --git a/Conspiratio.Lib/Allgemein/DialogResultGame.cs b/Conspiratio.Lib/Allgemein/DialogResultGame.cs new file mode 100644 index 0000000..fa80b07 --- /dev/null +++ b/Conspiratio.Lib/Allgemein/DialogResultGame.cs @@ -0,0 +1,26 @@ +namespace Conspiratio.Lib.Allgemein +{ + /// + /// Unser eigener enum, als Vorlage diente `System.Windows.Forms.DialogResult´. + /// Da wir hier aber keine Abhängigkeit auf `System.Windows.Forms´ haben können und wollen, gibt es diesen eigenen Typ. + /// + public enum DialogResultGame + { + /// Nothing Das Dialogfeld zurück. Dies bedeutet, dass das modale Dialogfeld weiterhin ausgeführt wird. + None, + /// Das Dialogfeld Rückgabewert ist OK (üblicherweise von der Schaltfläche OK gesendet). + OK, + /// Das Dialogfeld Rückgabewert ist Cancel (in der Regel von der Schaltfläche Abbrechen gesendet). + Cancel, + /// Das Dialogfeld Rückgabewert ist Abort (in der Regel von der Schaltfläche Abbrechen gesendet). + Abort, + /// Das Dialogfeld Rückgabewert ist Retry (in der Regel von der Schaltfläche Wiederholen gesendet). + Retry, + /// Das Dialogfeld Rückgabewert ist Ignore (in der Regel von der Schaltfläche Ignorieren gesendet). + Ignore, + /// Das Dialogfeld Rückgabewert ist Yes (in der Regel von der Schaltfläche Ja gesendet). + Yes, + /// Das Dialogfeld Rückgabewert ist No (in der Regel von der Schaltfläche Nein gesendet). + No + } +} diff --git a/Conspiratio.Lib/Allgemein/IJaNeinFrage.cs b/Conspiratio.Lib/Allgemein/IJaNeinFrage.cs index cfc06a2..d7179a0 100644 --- a/Conspiratio.Lib/Allgemein/IJaNeinFrage.cs +++ b/Conspiratio.Lib/Allgemein/IJaNeinFrage.cs @@ -1,9 +1,7 @@ -using System.Windows.Forms; - -namespace Conspiratio.Lib.Allgemein +namespace Conspiratio.Lib.Allgemein { public interface IJaNeinFrage { - DialogResult ShowDialogText(string textFrage, string textJa = "Ja", string textNein = "Nein"); + DialogResultGame ShowDialogText(string textFrage, string textJa = "Ja", string textNein = "Nein"); } } \ No newline at end of file diff --git a/Conspiratio.Lib/Conspiratio.Lib.csproj b/Conspiratio.Lib/Conspiratio.Lib.csproj index 1c5d43f..9c85d27 100644 --- a/Conspiratio.Lib/Conspiratio.Lib.csproj +++ b/Conspiratio.Lib/Conspiratio.Lib.csproj @@ -1,231 +1,31 @@ - - - + + netstandard2.0 Release - AnyCPU - {98ACB1BC-6708-4119-A1DC-23E3DEF08007} Library - Properties - Conspiratio.Lib - Conspiratio.Lib - v4.6.2 - 512 - true + false + true + true - - true - full - false - bin\Debug\ - DEBUG;TRACE - prompt - 4 - - - pdbonly - true - bin\Release\ - TRACE - prompt - 4 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + True + \ + - - - if $(ConfigurationName) == Debug ( -cd "$(ProjectDir)" -nuget pack -Properties Configuration=Debug -) -rem Falls es hier einen Fehler gibt siehe: https://github.com/NuGet/Home/issues/9954 -rem Nuget.exe muss ab 5.7 offenbar explizit zugelassen werden (Dateieigenschaften) + 3.0.0 + 3.0.0 + A library with gameplay logic for the free and open-source game Conspiratio + True + $(AssemblyVersion) + $(AssemblyName) + Conspiratio + Copyright © 2011-2024 + https://www.conspiratio.net + icon.png + conspiratio;game;library + https://github.com/Conspiratio/Conspiratio.Lib/blob/master/CHANGELOG.md + https://github.com/Conspiratio/Conspiratio.Lib \ No newline at end of file diff --git a/Conspiratio.Lib/Conspiratio.Lib.nuspec b/Conspiratio.Lib/Conspiratio.Lib.nuspec index 4839c1e..840bc4a 100644 --- a/Conspiratio.Lib/Conspiratio.Lib.nuspec +++ b/Conspiratio.Lib/Conspiratio.Lib.nuspec @@ -7,7 +7,7 @@ $author$ false GPL-3.0-only - http://www.conspiratio.net + https://www.conspiratio.net $description$ https://github.com/Conspiratio/Conspiratio.Lib/blob/master/CHANGELOG.md $copyright$ diff --git a/Conspiratio.Lib/Gameplay/Kampf/Stuetzpunkt.cs b/Conspiratio.Lib/Gameplay/Kampf/Stuetzpunkt.cs index 669e54c..3f7e6d9 100644 --- a/Conspiratio.Lib/Gameplay/Kampf/Stuetzpunkt.cs +++ b/Conspiratio.Lib/Gameplay/Kampf/Stuetzpunkt.cs @@ -1,8 +1,8 @@ using System; using System.Collections.Generic; using System.Linq; -using System.Windows.Forms; +using Conspiratio.Lib.Allgemein; using Conspiratio.Lib.Extensions; using Conspiratio.Lib.Gameplay.Kampf.Einheiten; using Conspiratio.Lib.Gameplay.Spielwelt; @@ -394,7 +394,7 @@ public bool ManoeverDurchfuehrenSpieler() return false; } - if (SW.UI.JaNeinFrage.ShowDialogText($"Aktuelle Moral: {MoralTruppeInProzent} %\nWollt Ihr mit Euren Truppen\n in {Name} wirklich ein Manöver\n für {KostenManoever.ToStringGeld()} durchführen lassen?", "Ja", "Lieber nicht!") != DialogResult.Yes) + if (SW.UI.JaNeinFrage.ShowDialogText($"Aktuelle Moral: {MoralTruppeInProzent} %\nWollt Ihr mit Euren Truppen\n in {Name} wirklich ein Manöver\n für {KostenManoever.ToStringGeld()} durchführen lassen?", "Ja", "Lieber nicht!") != DialogResultGame.Yes) return false; if (!SW.Dynamisch.CheckIfenoughGold(KostenManoever)) @@ -516,7 +516,7 @@ public bool KaufangebotAbgeben(int Preis) NameBesitzer = SW.Dynamisch.GetHumWithID(SW.Dynamisch.GetAktiverSpieler()).GetName(); if (SW.UI.JaNeinFrage.ShowDialogText("Wollt Ihr " + NameBesitzer + " wirklich ein Angebot\nüber " + Preis.ToStringGeld() + - " unterbreiten?\nIhr könnt pro Jahr nur einmal ein Angebot abgeben.", "Ja", "Lieber nicht!") == DialogResult.Yes) + " unterbreiten?\nIhr könnt pro Jahr nur einmal ein Angebot abgeben.", "Ja", "Lieber nicht!") == DialogResultGame.Yes) { if (Besitzer >= SW.Statisch.GetMinKIID()) { @@ -621,7 +621,7 @@ public bool TruppenAnheuern(int Anzahl, Type TypeEinheit) if (Anzahl == 1) NameEinheiten = Truppeneinheit.Name; - if (SW.UI.JaNeinFrage.ShowDialogText($"Wollt Ihr {Anzahl} {NameEinheiten}\n für {Kosten.ToStringGeld()} Handgeld anheuern?", "Ja", "Lieber nicht!") != DialogResult.Yes) + if (SW.UI.JaNeinFrage.ShowDialogText($"Wollt Ihr {Anzahl} {NameEinheiten}\n für {Kosten.ToStringGeld()} Handgeld anheuern?", "Ja", "Lieber nicht!") != DialogResultGame.Yes) return false; if (!SW.Dynamisch.CheckIfenoughGold(Kosten)) @@ -656,7 +656,7 @@ public bool TruppenEntlassen(int Anzahl, Type TypeEinheit) if (Anzahl == 1) NameEinheiten = Truppeneinheit.Name; - if (SW.UI.JaNeinFrage.ShowDialogText($"Wollt Ihr wirklich\n{Anzahl} {NameEinheiten} entlassen?", "Ja", "Lieber nicht!") != DialogResult.Yes) + if (SW.UI.JaNeinFrage.ShowDialogText($"Wollt Ihr wirklich\n{Anzahl} {NameEinheiten} entlassen?", "Ja", "Lieber nicht!") != DialogResultGame.Yes) return false; Meldung = VerringereTruppen(Anzahl, TypeEinheit); diff --git a/Conspiratio.Lib/Gameplay/Kirche/Kirchgang.cs b/Conspiratio.Lib/Gameplay/Kirche/Kirchgang.cs index 62a6bf4..966bcf7 100644 --- a/Conspiratio.Lib/Gameplay/Kirche/Kirchgang.cs +++ b/Conspiratio.Lib/Gameplay/Kirche/Kirchgang.cs @@ -1,5 +1,4 @@ -using System.Windows.Forms; - +using Conspiratio.Lib.Allgemein; using Conspiratio.Lib.Extensions; using Conspiratio.Lib.Gameplay.Spielwelt; @@ -20,7 +19,7 @@ public void AblassKaufen() { if (kosten != 0) { - if (SW.UI.JaNeinFrage.ShowDialogText("Wollt Ihr den Ablass für\n" + kosten.ToStringGeld() + " kaufen?", "Ja", "Nein") == DialogResult.Yes) + if (SW.UI.JaNeinFrage.ShowDialogText("Wollt Ihr den Ablass für\n" + kosten.ToStringGeld() + " kaufen?", "Ja", "Nein") == DialogResultGame.Yes) { SW.Dynamisch.GetHumWithID(SW.Dynamisch.GetAktiverSpieler()).ErhoeheTaler(-kosten); SW.Dynamisch.GetHumWithID(SW.Dynamisch.GetAktiverSpieler()).GetSpielerStatistik().KgekaufteAblaesse++; @@ -80,7 +79,7 @@ public void WaisenkindAdoptieren() int preis = SW.Dynamisch.GetAktHum().ErmittlePreisWaisenkindAdoptieren(SW.Dynamisch.GetAktiverSpieler()); if (SW.UI.JaNeinFrage.ShowDialogText("Wollt Ihr ein Mündel für\n" + preis.ToStringGeld() + " aus dem \nkirchlichen Waisenhaus adoptieren? \nEuer Ansehen könnte darunter leiden ...", - "Ja", "Lieber nicht!") == DialogResult.Yes) + "Ja", "Lieber nicht!") == DialogResultGame.Yes) { SW.Dynamisch.GetAktHum().WaisenkindAdoptieren(preis); } diff --git a/Conspiratio.Lib/Gameplay/Personen/HumSpieler.cs b/Conspiratio.Lib/Gameplay/Personen/HumSpieler.cs index 348ea1e..e4aa78f 100644 --- a/Conspiratio.Lib/Gameplay/Personen/HumSpieler.cs +++ b/Conspiratio.Lib/Gameplay/Personen/HumSpieler.cs @@ -1,6 +1,5 @@ using System; using System.Collections.Generic; -using System.Data.SqlClient; using System.Linq; using Conspiratio.Lib.Gameplay.Ereignisse; diff --git a/Conspiratio.Lib/Gameplay/Privilegien/IBauwerkStiftenDialog.cs b/Conspiratio.Lib/Gameplay/Privilegien/IBauwerkStiftenDialog.cs index 62a5bbd..bad1a6d 100644 --- a/Conspiratio.Lib/Gameplay/Privilegien/IBauwerkStiftenDialog.cs +++ b/Conspiratio.Lib/Gameplay/Privilegien/IBauwerkStiftenDialog.cs @@ -1,9 +1,9 @@ -using System.Windows.Forms; +using Conspiratio.Lib.Allgemein; namespace Conspiratio.Lib.Gameplay.Privilegien { public interface IBauwerkStiftenDialog { - DialogResult ShowDialog(); + DialogResultGame ShowDialog(); } } diff --git a/Conspiratio.Lib/Gameplay/Privilegien/IFestGebenDialog.cs b/Conspiratio.Lib/Gameplay/Privilegien/IFestGebenDialog.cs index 9efc4bb..cce2bf0 100644 --- a/Conspiratio.Lib/Gameplay/Privilegien/IFestGebenDialog.cs +++ b/Conspiratio.Lib/Gameplay/Privilegien/IFestGebenDialog.cs @@ -1,9 +1,9 @@ -using System.Windows.Forms; +using Conspiratio.Lib.Allgemein; namespace Conspiratio.Lib.Gameplay.Privilegien { public interface IFestGebenDialog { - DialogResult ShowDialog(); + DialogResultGame ShowDialog(); } } \ No newline at end of file diff --git a/Conspiratio.Lib/Gameplay/Privilegien/IUntergebeneDialog.cs b/Conspiratio.Lib/Gameplay/Privilegien/IUntergebeneDialog.cs index 151e6ab..99ae597 100644 --- a/Conspiratio.Lib/Gameplay/Privilegien/IUntergebeneDialog.cs +++ b/Conspiratio.Lib/Gameplay/Privilegien/IUntergebeneDialog.cs @@ -1,9 +1,9 @@ -using System.Windows.Forms; +using Conspiratio.Lib.Allgemein; namespace Conspiratio.Lib.Gameplay.Privilegien { public interface IUntergebeneDialog { - DialogResult ShowDialog(); + DialogResultGame ShowDialog(); } } diff --git a/Conspiratio.Lib/Gameplay/Privilegien/PrivAmtNiederlegen.cs b/Conspiratio.Lib/Gameplay/Privilegien/PrivAmtNiederlegen.cs index eeb0fdb..b454cd7 100644 --- a/Conspiratio.Lib/Gameplay/Privilegien/PrivAmtNiederlegen.cs +++ b/Conspiratio.Lib/Gameplay/Privilegien/PrivAmtNiederlegen.cs @@ -1,5 +1,4 @@ -using System.Windows.Forms; - +using Conspiratio.Lib.Allgemein; using Conspiratio.Lib.Gameplay.Spielwelt; namespace Conspiratio.Lib.Gameplay.Privilegien @@ -12,7 +11,7 @@ public PrivAmtNiederlegen() : base("Amt niederlegen", 2) public override void PrivExecute() { - if (SW.UI.JaNeinFrage.ShowDialogText("Wollt Ihr wirklich\nEuer Amt niederlegen?", "Ja", "Nein") == DialogResult.Yes) + if (SW.UI.JaNeinFrage.ShowDialogText("Wollt Ihr wirklich\nEuer Amt niederlegen?", "Ja", "Nein") == DialogResultGame.Yes) { // Absetzungsanträge zurückziehen for (int i = 1; i < SW.Statisch.GetMaxAnzahlAmtsenthebungen(); i++) diff --git a/Conspiratio.Lib/Gameplay/Privilegien/PrivJurist.cs b/Conspiratio.Lib/Gameplay/Privilegien/PrivJurist.cs index 6688a15..d541226 100644 --- a/Conspiratio.Lib/Gameplay/Privilegien/PrivJurist.cs +++ b/Conspiratio.Lib/Gameplay/Privilegien/PrivJurist.cs @@ -1,5 +1,4 @@ -using System.Windows.Forms; - +using Conspiratio.Lib.Allgemein; using Conspiratio.Lib.Extensions; using Conspiratio.Lib.Gameplay.Spielwelt; @@ -16,7 +15,7 @@ public override void PrivExecute() int preis = 1000; if (SW.UI.JaNeinFrage.ShowDialogText("Beim Jurist erhaltet Ihr Einblicke\nin Eure bisherigen Verbrechen und deren Bewertung.\n" + - $"Wollt Ihr diese Dienste für\n{preis.ToStringGeld()} in Anspruch nehmen?") != DialogResult.Yes) + $"Wollt Ihr diese Dienste für\n{preis.ToStringGeld()} in Anspruch nehmen?") != DialogResultGame.Yes) { return; } diff --git a/Conspiratio.Lib/Gameplay/Spielwelt/DynamischeSpieldaten.cs b/Conspiratio.Lib/Gameplay/Spielwelt/DynamischeSpieldaten.cs index 4ab111a..9a6e36f 100644 --- a/Conspiratio.Lib/Gameplay/Spielwelt/DynamischeSpieldaten.cs +++ b/Conspiratio.Lib/Gameplay/Spielwelt/DynamischeSpieldaten.cs @@ -1,7 +1,7 @@ using System; using System.Collections.Generic; -using System.Windows.Forms; +using Conspiratio.Lib.Allgemein; using Conspiratio.Lib.Extensions; using Conspiratio.Lib.Gameplay.Einstellungen; using Conspiratio.Lib.Gameplay.Gebiete; @@ -14,8 +14,6 @@ using Conspiratio.Lib.Gameplay.Schreibstube; using Conspiratio.Lib.Gameplay.Titel; -using static System.Windows.Forms.AxHost; - namespace Conspiratio.Lib.Gameplay.Spielwelt { /// @@ -1517,7 +1515,7 @@ public void KIstirbt(int kiid) #region AktivenSpielerEntfernen public bool? AktivenSpielerEntfernen() { - if (SW.UI.JaNeinFrage.ShowDialogText(textFrage: "Wollt Ihr wirklich all' Euer Geld aus dem Fenster\n werfen und das Spiel verlassen?", "Ja", "Lieber nicht") != DialogResult.Yes) + if (SW.UI.JaNeinFrage.ShowDialogText(textFrage: "Wollt Ihr wirklich all' Euer Geld aus dem Fenster\n werfen und das Spiel verlassen?", "Ja", "Lieber nicht") != DialogResultGame.Yes) { return null; } @@ -1607,7 +1605,7 @@ public void Ermordung(int id) { int kosten = Convert.ToInt32(GetKIwithID(id).GetTaler() * SW.Statisch.GetErmordungProzentsatz()); - if (SW.UI.JaNeinFrage.ShowDialogText(textFrage: "Wollt Ihr wirklich die Ermordung von\n" + GetKIwithID(id).GetKompletterName() + " für " + kosten.ToStringGeld() + "\nin Auftrag geben?") == DialogResult.Yes) + if (SW.UI.JaNeinFrage.ShowDialogText(textFrage: "Wollt Ihr wirklich die Ermordung von\n" + GetKIwithID(id).GetKompletterName() + " für " + kosten.ToStringGeld() + "\nin Auftrag geben?") == DialogResultGame.Yes) { if (CheckIfenoughGold(kosten)) // Wenn man auch genügend Taler besitzt { @@ -1694,7 +1692,7 @@ public void PartnerSuchen(int id) public void ProzessInitiieren(int id) { - if (SW.UI.JaNeinFrage.ShowDialogText(textFrage: "Wollt Ihr wirklich gegen " + GetSpWithID(id).GetKompletterName() + "\neinen Prozess initiieren?") == DialogResult.Yes) + if (SW.UI.JaNeinFrage.ShowDialogText(textFrage: "Wollt Ihr wirklich gegen " + GetSpWithID(id).GetKompletterName() + "\neinen Prozess initiieren?") == DialogResultGame.Yes) { GetHumWithID(GetAktiverSpieler()).SetKlagtSpielerMitIDXAn(id); SpielerKlagtXAn(id); @@ -1711,7 +1709,7 @@ public void WeinVergiften(int id) // Es ist noch keine Vergiftung in Vorbereitung if (GetHumWithID(GetAktiverSpieler()).GetVergiftetWeinVonKISpielerID() == 0) { - if (SW.UI.JaNeinFrage.ShowDialogText(textFrage: "Wollt Ihr wirklich für " + kosten.ToStringGeld() + "\n einen Trank von " + GetSpWithID(id).GetName() + " vergiften?") == DialogResult.Yes) + if (SW.UI.JaNeinFrage.ShowDialogText(textFrage: "Wollt Ihr wirklich für " + kosten.ToStringGeld() + "\n einen Trank von " + GetSpWithID(id).GetName() + " vergiften?") == DialogResultGame.Yes) { if (CheckIfenoughGold(kosten)) { diff --git a/Conspiratio.Lib/Properties/AssemblyInfo.cs b/Conspiratio.Lib/Properties/AssemblyInfo.cs deleted file mode 100644 index d4f4253..0000000 --- a/Conspiratio.Lib/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,34 +0,0 @@ -using System.Reflection; -using System.Runtime.InteropServices; - -// Allgemeine Informationen über eine Assembly werden über die folgenden -// Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern, -// die einer Assembly zugeordnet sind. -[assembly: AssemblyTitle("Conspiratio.Lib")] -[assembly: AssemblyDescription("A library with gameplay logic for the free and open-source game Conspiratio")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("Conspiratio")] -[assembly: AssemblyProduct("Conspiratio")] -[assembly: AssemblyCopyright("Copyright © 2011-2021")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// Durch Festlegen von ComVisible auf FALSE werden die Typen in dieser Assembly -// für COM-Komponenten unsichtbar. Wenn Sie auf einen Typ in dieser Assembly von -// COM aus zugreifen müssen, sollten Sie das ComVisible-Attribut für diesen Typ auf "True" festlegen. -[assembly: ComVisible(false)] - -// Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird -[assembly: Guid("98acb1bc-6708-4119-a1dc-23e3def08007")] - -// Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten: -// -// Hauptversion -// Nebenversion -// Buildnummer -// Revision -// -// Sie können alle Werte angeben oder Standardwerte für die Build- und Revisionsnummern verwenden, -// indem Sie "*" wie unten gezeigt eingeben: -[assembly: AssemblyVersion("2.3.0")] -[assembly: AssemblyFileVersion("2.3.0")]