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")]