36 lines
1.1 KiB
C#
36 lines
1.1 KiB
C#
using Encompass;
|
|
using PongFE.Components;
|
|
using PongFE.Messages;
|
|
|
|
namespace PongFE.Engines
|
|
{
|
|
[Reads(typeof(SpawnBallAfterDestroyComponent))]
|
|
[Receives(typeof(DestroyMessage))]
|
|
[Sends(typeof(BallSpawnMessage))]
|
|
public class DestroyEngine : Engine
|
|
{
|
|
public override void Update(double dt)
|
|
{
|
|
foreach (ref readonly var message in ReadMessages<DestroyMessage>())
|
|
{
|
|
if (HasComponent<SpawnBallAfterDestroyComponent>(message.Entity))
|
|
{
|
|
ref readonly var respawnComponent = ref GetComponent<SpawnBallAfterDestroyComponent>(message.Entity);
|
|
|
|
SendMessage(
|
|
new BallSpawnMessage(
|
|
new MoonTools.Structs.Position2D(640, 360),
|
|
new System.Numerics.Vector2(-200, 100),
|
|
16,
|
|
16
|
|
),
|
|
respawnComponent.Seconds
|
|
);
|
|
}
|
|
|
|
Destroy(message.Entity);
|
|
}
|
|
}
|
|
}
|
|
}
|