39 lines
850 B
C#
39 lines
850 B
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Text;
|
|
using System.Timers;
|
|
using GTANetworkAPI;
|
|
|
|
namespace ReallifeGamemode.Server.Util
|
|
{
|
|
public class PlayerTimer
|
|
{
|
|
private readonly Player player;
|
|
private readonly Vehicle veh;
|
|
private readonly Timer timer;
|
|
|
|
public delegate void PlayerTimerElapsed(Player player, Vehicle veh);
|
|
public event PlayerTimerElapsed Elapsed;
|
|
|
|
public PlayerTimer(Player player, Vehicle veh = null, int milliseconds = 1000)
|
|
{
|
|
this.player = player;
|
|
this.veh = veh;
|
|
|
|
this.timer = new Timer(milliseconds);
|
|
this.timer.Elapsed += Timer_Elapsed;
|
|
this.timer.Start();
|
|
}
|
|
|
|
private void Timer_Elapsed(object sender, ElapsedEventArgs e)
|
|
{
|
|
Elapsed?.Invoke(player, veh);
|
|
}
|
|
|
|
public void Stop()
|
|
{
|
|
this.timer.Stop();
|
|
}
|
|
}
|
|
}
|