feat: initial import
This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
namespace GodotHostTest.Interfaces;
|
||||
|
||||
/// <summary>
|
||||
/// An object that keeps track of the score.
|
||||
/// </summary>
|
||||
public interface IScore
|
||||
{
|
||||
/// <summary>
|
||||
/// A target has been hit.
|
||||
/// </summary>
|
||||
void TargetHit();
|
||||
|
||||
/// <summary>
|
||||
/// A target has timed out.
|
||||
/// </summary>
|
||||
void TargetTimedOut();
|
||||
|
||||
/// <summary>
|
||||
/// The current score.
|
||||
/// </summary>
|
||||
public int Score { get; }
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
uid://wf8obkyi1rod
|
||||
@@ -0,0 +1,24 @@
|
||||
using R3;
|
||||
|
||||
namespace GodotHostTest.Interfaces;
|
||||
|
||||
/// <summary>
|
||||
/// A target for our projectiles.
|
||||
/// </summary>
|
||||
public interface ITarget
|
||||
{
|
||||
/// <summary>
|
||||
/// The target hasn't been hit in the allotted time and has timed out.
|
||||
/// </summary>
|
||||
Observable<Unit> TimedOut { get; }
|
||||
|
||||
/// <summary>
|
||||
/// The target has been hit.
|
||||
/// </summary>
|
||||
Observable<Unit> Hit { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Enable the target. Targets start disabled and gets disabled when they're hit or time out.
|
||||
/// </summary>
|
||||
void Enable();
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
uid://bgkbpxwire4qb
|
||||
@@ -0,0 +1,13 @@
|
||||
namespace GodotHostTest.Interfaces;
|
||||
|
||||
/// <summary>
|
||||
/// An object which collects targets as soon as they are created.
|
||||
/// </summary>
|
||||
public interface ITargetCollector
|
||||
{
|
||||
/// <summary>
|
||||
/// Register a target.
|
||||
/// </summary>
|
||||
/// <param name="target">The new target.</param>
|
||||
void NewTarget(ITarget target);
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
uid://cyuavtr6x72uj
|
||||
@@ -0,0 +1,14 @@
|
||||
using R3;
|
||||
|
||||
namespace GodotHostTest.Interfaces;
|
||||
|
||||
/// <summary>
|
||||
/// An object that spawns targets.
|
||||
/// </summary>
|
||||
public interface ITargetSpawner
|
||||
{
|
||||
/// <summary>
|
||||
/// Observable that produces a value whenever a target gets spawned.
|
||||
/// </summary>
|
||||
Observable<ITarget> TargetSpawned { get; }
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
uid://b8ksms66cbg3
|
||||
Reference in New Issue
Block a user