add option to stop job, enable engine of job vehicle only when player is in job

This commit is contained in:
hydrant
2019-05-20 21:41:02 +02:00
parent 0409cd1611
commit 9dda9b195d
6 changed files with 75 additions and 13 deletions

View File

@@ -3,6 +3,7 @@ using ReallifeGamemode.Server.Entities;
using ReallifeGamemode.Server.Managers;
using ReallifeGamemode.Server.Models;
using ReallifeGamemode.Server.Services;
using ReallifeGamemode.Server.Util;
using System;
using System.Collections.Generic;
using System.Linq;
@@ -12,11 +13,11 @@ namespace ReallifeGamemode.Server.Job
{
public abstract class JobBase
{
protected delegate void JobStartHandler();
protected delegate void JobStopHandler();
public delegate void JobStartHandler();
public delegate void JobStopHandler();
protected event JobStartHandler JobStart;
protected event JobStopHandler JobStop;
public event JobStartHandler JobStart;
public event JobStopHandler JobStop;
private readonly List<Client> _inJob = new List<Client>();
@@ -30,11 +31,7 @@ namespace ReallifeGamemode.Server.Job
{
_inJob.Add(player);
if (NeedVehicleToStart && !GetJobVehicles().Any(v => VehicleManager.GetVehicleFromServerVehicle(v).Handle.Value == player.Vehicle?.Handle.Value))
{
ChatService.Error(player, "Zum Start dieses Jobs musst du in einem Jobfahrzeug sein");
return;
}
player.SendChatMessage($"~y~[JOB]~s~ Du hast deinen Job ~o~{this.Name}~s~ gestartet.");
JobStart?.Invoke();
}
@@ -43,6 +40,8 @@ namespace ReallifeGamemode.Server.Job
{
_inJob.Remove(player);
player.SendChatMessage($"~y~[JOB]~s~ Du hast deinen Job ~o~{this.Name}~s~ beendet.");
JobStop?.Invoke();
}