Start refactoring UI concerns away from game and into UI logic class

This commit is contained in:
2025-03-07 16:48:45 -08:00
parent c3bfab5f53
commit 93c04440d4
11 changed files with 111 additions and 23 deletions

View File

@@ -27,6 +27,8 @@ public interface IGameRepo : IDisposable
public void EndDoubleExp();
public void AnnounceMessageOnMainScreen(string message);
public double ExpRate { get; }
}
@@ -67,17 +69,22 @@ public class GameRepo : IGameRepo
public void StartDoubleEXP(TimeSpan lengthOfEffect)
{
CloseInventory?.Invoke();
AnnounceMessage?.Invoke("Experience points temporarily doubled.");
AnnounceMessageOnMainScreen("Experience points temporarily doubled.");
DoubleExpTimeStart?.Invoke(lengthOfEffect.Seconds);
ExpRate = 2;
}
public void EndDoubleExp()
{
AnnounceMessage?.Invoke("Experience points effect wore off.");
AnnounceMessageOnMainScreen("Experience points effect wore off.");
ExpRate = 1;
}
public void AnnounceMessageOnMainScreen(string message)
{
AnnounceMessage?.Invoke(message);
}
public void OnGameEnded()
{
Pause();