servicepoint-tanks/TanksServer/TickSteps/RotateTanks.cs
2024-04-07 20:16:22 +02:00

25 lines
621 B
C#

using TanksServer.Models;
using TanksServer.Services;
namespace TanksServer.TickSteps;
internal sealed class RotateTanks(TankManager tanks, IOptions<TanksConfiguration> options) : ITickStep
{
private readonly TanksConfiguration _config = options.Value;
public Task TickAsync()
{
foreach (var tank in tanks)
{
var player = tank.Owner;
if (player.Controls.TurnLeft)
tank.Rotation -= _config.TurnSpeed;
if (player.Controls.TurnRight)
tank.Rotation += _config.TurnSpeed;
}
return Task.CompletedTask;
}
}