|
|
|
|
@ -13,10 +13,9 @@ public partial class GameManager : Node {
|
|
|
|
|
get => gameOver;
|
|
|
|
|
private set {
|
|
|
|
|
gameOver = value;
|
|
|
|
|
GetTree().Paused = gameOver;
|
|
|
|
|
SoundManager.Instance.Stop(SoundManager.Sound.BackgroundMusic);
|
|
|
|
|
SoundManager.Instance.Play(SoundManager.Sound.GameOver);
|
|
|
|
|
RefreshUi?.Invoke(this, EventArgs.Empty);
|
|
|
|
|
OnGameOver?.Invoke(this,EventArgs.Empty);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -31,14 +30,15 @@ public partial class GameManager : Node {
|
|
|
|
|
private float spawnRate = 1f;
|
|
|
|
|
private float spawnTimer;
|
|
|
|
|
|
|
|
|
|
public event EventHandler RefreshUi;
|
|
|
|
|
public event EventHandler NewCountdown;
|
|
|
|
|
public event EventHandler OnRefreshUi;
|
|
|
|
|
public event EventHandler OnNewCountdown;
|
|
|
|
|
public event EventHandler OnGameOver;
|
|
|
|
|
|
|
|
|
|
public int AsteroidNumber {
|
|
|
|
|
get => asteroidNumber;
|
|
|
|
|
set {
|
|
|
|
|
asteroidNumber = value;
|
|
|
|
|
RefreshUi?.Invoke(this, EventArgs.Empty);
|
|
|
|
|
OnRefreshUi?.Invoke(this, EventArgs.Empty);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -47,7 +47,7 @@ public partial class GameManager : Node {
|
|
|
|
|
set {
|
|
|
|
|
lives = value;
|
|
|
|
|
if (lives <= 0) GameOver = true;
|
|
|
|
|
RefreshUi?.Invoke(this, EventArgs.Empty);
|
|
|
|
|
OnRefreshUi?.Invoke(this, EventArgs.Empty);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -56,7 +56,7 @@ public partial class GameManager : Node {
|
|
|
|
|
set {
|
|
|
|
|
points = value;
|
|
|
|
|
if (points >= nextLevelPoints) NextLevel();
|
|
|
|
|
RefreshUi?.Invoke(this, EventArgs.Empty);
|
|
|
|
|
OnRefreshUi?.Invoke(this, EventArgs.Empty);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -64,7 +64,7 @@ public partial class GameManager : Node {
|
|
|
|
|
get => level;
|
|
|
|
|
private set {
|
|
|
|
|
level = value;
|
|
|
|
|
RefreshUi?.Invoke(this, EventArgs.Empty);
|
|
|
|
|
OnRefreshUi?.Invoke(this, EventArgs.Empty);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -72,7 +72,7 @@ public partial class GameManager : Node {
|
|
|
|
|
get => nextLevelPoints;
|
|
|
|
|
private set {
|
|
|
|
|
nextLevelPoints = value;
|
|
|
|
|
RefreshUi?.Invoke(this, EventArgs.Empty);
|
|
|
|
|
OnRefreshUi?.Invoke(this, EventArgs.Empty);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -80,7 +80,7 @@ public partial class GameManager : Node {
|
|
|
|
|
get => asteroidMaxNumber;
|
|
|
|
|
private set {
|
|
|
|
|
asteroidMaxNumber = value;
|
|
|
|
|
RefreshUi?.Invoke(this, EventArgs.Empty);
|
|
|
|
|
OnRefreshUi?.Invoke(this, EventArgs.Empty);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -90,7 +90,7 @@ public partial class GameManager : Node {
|
|
|
|
|
set {
|
|
|
|
|
gamePaused = value;
|
|
|
|
|
GetTree().Paused = gamePaused;
|
|
|
|
|
RefreshUi?.Invoke(this, EventArgs.Empty);
|
|
|
|
|
OnRefreshUi?.Invoke(this, EventArgs.Empty);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -104,9 +104,9 @@ public partial class GameManager : Node {
|
|
|
|
|
Lives = MaxLives;
|
|
|
|
|
spawnTimer = spawnRate;
|
|
|
|
|
SoundManager.Instance.Play(SoundManager.Sound.BackgroundMusic);
|
|
|
|
|
RefreshUi?.Invoke(this, EventArgs.Empty);
|
|
|
|
|
OnRefreshUi?.Invoke(this, EventArgs.Empty);
|
|
|
|
|
Countdown = true;
|
|
|
|
|
NewCountdown?.Invoke(this, EventArgs.Empty);
|
|
|
|
|
OnNewCountdown?.Invoke(this, EventArgs.Empty);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public override void _Process(double delta) {
|
|
|
|
|
|