22 lines
965 B
C#
22 lines
965 B
C#
namespace FlappyBird.Core
|
|
{
|
|
/// <summary>
|
|
/// Contract for the score management service.
|
|
/// Matches the interface defined in AI_RULES.md.
|
|
/// </summary>
|
|
public interface IScoreManager
|
|
{
|
|
/// <summary>Current score for this session.</summary>
|
|
int CurrentScore { get; }
|
|
/// <summary>All-time high score (persisted via PlayerPrefs).</summary>
|
|
int HighScore { get; }
|
|
/// <summary>Adds <paramref name="points"/> to the current score.</summary>
|
|
void AddScore(int points);
|
|
/// <summary>Resets the current score to zero (call on game restart).</summary>
|
|
void ResetScore();
|
|
/// <summary>Fired whenever the current score changes. Passes the new score value.</summary>
|
|
event System.Action<int> OnScoreChanged;
|
|
/// <summary>Fired when a new high score is set. Passes the new high score value.</summary>
|
|
event System.Action<int> OnHighScoreBeaten;
|
|
}
|
|
} |