Engine-Pong/Shared/Behaviours/WallScoreBehaviour.cs

20 lines
483 B
C#

using System;
using Syntriax.Engine.Core;
using Syntriax.Engine.Physics2D;
namespace Pong.Behaviours;
public class WallScoreBehaviour(Action OnCollision) : Behaviour2D, IFirstFrameUpdate
{
private Action OnCollision { get; } = OnCollision;
public void FirstActiveFrame()
{
if (!BehaviourController.TryGetBehaviour(out ICollider2D? collider2D))
return;
collider2D.OnCollisionDetected.AddListener((_, _1) => OnCollision?.Invoke());
}
}