Refactor collectable components to C# and update resource scripts for consistency

This commit is contained in:
2025-08-21 18:01:13 +02:00
parent d84f7d1740
commit 9d0f502cc2
16 changed files with 179 additions and 190 deletions

View File

@@ -13,7 +13,7 @@ public partial class CollectableComponent : Node
[Export] public CollectableResource Data { get; set; }
[Export] public AudioStreamPlayer2D Sfx {get; set; }
[Signal] public delegate void CollectedEventHandler(Variant amount, CollectableType type, Node2D body);
[Signal] public delegate void CollectedEventHandler(float amount, CollectableType type, Node2D body);
public override void _Ready()
{

View File

@@ -19,7 +19,7 @@ public partial class HealComponent : Node
Collectable.Collected += OnCollected;
}
private void OnCollected(Variant amount, CollectableType type, Node2D body)
private void OnCollected(float amount, CollectableType type, Node2D body)
{
if (type != CollectableType.Health) return;
@@ -28,8 +28,7 @@ public partial class HealComponent : Node
var healthComponent = body.GetNodeOrNull<HealthComponent>("HealthComponent");
if (healthComponent == null) return;
var value = amount.AsSingle();
healthComponent.IncreaseHealth(value);
healthComponent.IncreaseHealth(amount);
if (HealFx != null)
{
PlayHealFx();

View File

@@ -28,9 +28,9 @@ public partial class RequirementComponent : Node
}
}
private void OnCollected(Variant amount, CollectableType type, Node2D body)
private void OnCollected(float amount, CollectableType type, Node2D body)
{
AddProgress(amount.As<int>());
AddProgress((int)amount);
}
private void AddProgress(int amount = 1)

View File

@@ -31,11 +31,11 @@ public partial class ScoreComponent : Node
}
}
private void OnCollected(Variant amount, CollectableType type, Node2D body)
private void OnCollected(float amount, CollectableType type, Node2D body)
{
if (type != CollectableType.Coin) return;
var coinAmount = amount.As<int>();
var coinAmount = (int)amount;
var currentCoins = (int)_gameManager.CurrentSessionState["coins_collected"];
_gameManager.CurrentSessionState["coins_collected"] = currentCoins + coinAmount;
}

View File

@@ -7,4 +7,4 @@ enum CollectableType {
HEALTH,
}
@export var amount: Variant = 0.0
@export var type: CollectableType = CollectableType.COIN
@export var type: CollectableType = CollectableType.COIN