Update Project

This commit is contained in:
2026-03-20 13:04:43 +02:00
parent 9b587e6cba
commit beae2dea89
2295 changed files with 251259 additions and 33 deletions
@@ -0,0 +1,34 @@
using UnityEngine;
using Zenject;
using FlappyBird.Core;
namespace FlappyBird.Gameplay.Pipes
{
/// <summary>
/// Thin MonoBehaviour placed on a trigger-collider child of the pipe-pair prefab.
/// Sits in the centre of the gap. When the bird passes through it fires OnPlayerScored,
/// which the ScoreManager listens to.
/// NO scoring logic lives here — only trigger detection and event dispatch.
/// </summary>
[RequireComponent(typeof(Collider2D))]
public sealed class ScoreTriggerView : MonoBehaviour
{
/// <summary>
/// Fired when the bird's collider enters this trigger.
/// Subscribers (ScoreManager via installer) add the score.
/// </summary>
public event System.Action OnPlayerScored;
private IScoreManager _scoreManager;
[Inject]
private void Construct(IScoreManager scoreManager)
{
_scoreManager = scoreManager;
}
private void OnTriggerEnter2D(Collider2D other)
{
// Only react to the bird layer — avoids double-counting with pipe colliders.
if (!other.CompareTag("Bird")) return;
OnPlayerScored?.Invoke();
_scoreManager.AddScore(1);
}
}
}