2024-04-07 20:16:22 +02:00
|
|
|
using TanksServer.Models;
|
|
|
|
using TanksServer.Services;
|
|
|
|
|
2024-04-07 19:52:16 +02:00
|
|
|
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;
|
|
|
|
}
|
|
|
|
}
|