diff --git a/OpenDiablo2.Common/Interfaces/IGameState.cs b/OpenDiablo2.Common/Interfaces/IGameState.cs new file mode 100644 index 00000000..294bdeff --- /dev/null +++ b/OpenDiablo2.Common/Interfaces/IGameState.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using OpenDiablo2.Common.Enums; +using OpenDiablo2.Common.Models; + +namespace OpenDiablo2.Common.Interfaces +{ + public interface IGameState + { + MPQDS1 MapData { get; } + int Act { get; } + string MapName { get; } + Palette CurrentPalette { get; } + + void Initialize(string text, eHero value); + } +} diff --git a/OpenDiablo2.Common/Interfaces/IMapEngine.cs b/OpenDiablo2.Common/Interfaces/IMapEngine.cs new file mode 100644 index 00000000..10eea3c8 --- /dev/null +++ b/OpenDiablo2.Common/Interfaces/IMapEngine.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using OpenDiablo2.Common.Models; + +namespace OpenDiablo2.Common.Interfaces +{ + public interface IMapEngine + { + PointF CameraLocation { get; set; } + void Update(long ms); + void Render(); + void NotifyMapChanged(); + } +} diff --git a/OpenDiablo2.Common/OpenDiablo2.Common.csproj b/OpenDiablo2.Common/OpenDiablo2.Common.csproj index 78f520b0..598db43d 100644 --- a/OpenDiablo2.Common/OpenDiablo2.Common.csproj +++ b/OpenDiablo2.Common/OpenDiablo2.Common.csproj @@ -77,8 +77,10 @@ + + diff --git a/OpenDiablo2.Core/AutofacModule.cs b/OpenDiablo2.Core/AutofacModule.cs index e797cb40..a26cf38c 100644 --- a/OpenDiablo2.Core/AutofacModule.cs +++ b/OpenDiablo2.Core/AutofacModule.cs @@ -1,6 +1,7 @@ using Autofac; using OpenDiablo2.Common.Interfaces; using OpenDiablo2.Core.GameState_; +using OpenDiablo2.Core.Map_Engine; using OpenDiablo2.Core.UI; using System; using System.Collections.Generic; @@ -24,8 +25,9 @@ namespace OpenDiablo2.Core builder.RegisterType().As().SingleInstance(); builder.RegisterType