using System.Collections.Generic;
using GTANetworkAPI;

namespace ReallifeGamemode.Server.Events
{
  internal class Siren : Script
  {
    private readonly Dictionary<NetHandle, bool> _sirenStates = new Dictionary<NetHandle, bool>();

    [RemoteEvent("keyPress:B:toggleSiren")]
    public void ToggleSirenEvent(Player player)
    {
      if (!player.IsInVehicle || player.VehicleSeat != 0) return;
      GTANetworkAPI.Vehicle pV = player.Vehicle;
      bool oldValue = _sirenStates.ContainsKey(pV.Handle) ? _sirenStates[pV.Handle] : false;
      bool newValue = !oldValue;

      _sirenStates[pV.Handle] = newValue;
      pV.SetSharedData("sirenSound", newValue);

      NAPI.ClientEvent.TriggerClientEventForAll("toggleVehicleSiren", pV, newValue);
    }
  }
}
