diff --git a/source/Trek-12/Models/Events/GameEndedEventArgs.cs b/source/Trek-12/Models/Events/GameEndedEventArgs.cs new file mode 100644 index 0000000..e0bcb97 --- /dev/null +++ b/source/Trek-12/Models/Events/GameEndedEventArgs.cs @@ -0,0 +1,14 @@ +using Models.Game; +namespace Models.Events; + +public class GameEndedEventArgs +{ + public Player Player { get; } + public Map Map { get; } + + public GameEndedEventArgs(Player player, Map map) + { + Player = player; + Map = map; + } +} \ No newline at end of file diff --git a/source/Trek-12/Models/Game/Game.cs b/source/Trek-12/Models/Game/Game.cs index b154e77..813b5d1 100644 --- a/source/Trek-12/Models/Game/Game.cs +++ b/source/Trek-12/Models/Game/Game.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Dynamic; using System.Linq; using System.Text; using System.Threading.Tasks; @@ -22,9 +23,19 @@ namespace Models.Game private Rules.Rules GameRules { get; } // == Events == - public event GameStartedEventArgs OnGameStarted; - + public event EventHandler OnGameStarted; + protected virtual void GameStarted(GameStartedEventArgs e) + { + OnGameStarted?.Invoke(this, e); + } + + public event EventHandler OnGameEnded; + protected virtual void GameStarted(GameEndedEventArgs e) + { + OnGameEnded?.Invoke(this, e); + } + public Game(Player player, Map map) { UsedMap = map;