This commit is contained in:
redglow
2026-07-21 20:49:24 +02:00
parent c540b99eb6
commit e7dbb9cabb
31 changed files with 394 additions and 76 deletions
+3 -1
View File
@@ -1,7 +1,9 @@
using R3;
namespace GodotHostTest.Interfaces;
public interface ICurrentLevel
{
public int LevelNumber { get; }
public ReadOnlyReactiveProperty<int> LevelNumber { get; }
public void NextLevel();
}
+3 -1
View File
@@ -1,3 +1,5 @@
using R3;
namespace GodotHostTest.Interfaces;
/// <summary>
@@ -8,5 +10,5 @@ public interface IScore
/// <summary>
/// The current score.
/// </summary>
public int Score { get; }
public Observable<int> Score { get; }
}
+4 -3
View File
@@ -8,12 +8,13 @@ namespace GodotHostTest.Interfaces;
public interface ITarget
{
/// <summary>
/// The target hasn't been hit in the allotted time and has timed out.
/// The target hasn't been hit in the allotted time and has timed out; once this observable emits an event, both
/// it and <see cref="Hit"/> complete.
/// </summary>
Observable<Unit> TimedOut { get; }
/// <summary>
/// The target has been hit.
/// The target has been hit; once this observable emits an event, both it and <see cref="TimedOut"/> complete.
/// </summary>
Observable<Unit> Hit { get; }
+22
View File
@@ -0,0 +1,22 @@
using R3;
namespace GodotHostTest.Interfaces;
public interface ITargetEventBus
{
/// <summary>
/// A target has timed out and disappeared.
/// </summary>
Observable<Unit> TimedOut { get; }
/// <summary>
/// A target has been hit.
/// </summary>
Observable<Unit> Hit { get; }
/// <summary>
/// A new target spawner has been added.
/// </summary>
/// <param name="targetSpawner"></param>
void NewTargetSpawner(ITargetSpawner targetSpawner);
}
+1
View File
@@ -0,0 +1 @@
uid://bgexc7hcs5r4n