57 lines
1.6 KiB
C#
57 lines
1.6 KiB
C#
using GTANetworkAPI;
|
|
using reallife_gamemode.Server.Entities;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Text;
|
|
using reallife_gamemode.Model;
|
|
|
|
namespace reallife_gamemode.Server.Managers
|
|
{
|
|
public class VehicleManager
|
|
{
|
|
private static Dictionary<int, NetHandle> _serverVehicles = new Dictionary<int, NetHandle>();
|
|
|
|
public static void AddVehicle(ServerVehicle serverVehicle, Vehicle vehicle)
|
|
{
|
|
if(_serverVehicles.ContainsKey(serverVehicle.Id))
|
|
{
|
|
return;
|
|
}
|
|
|
|
if (_serverVehicles.ContainsValue(vehicle.Handle))
|
|
{
|
|
return;
|
|
}
|
|
|
|
_serverVehicles[serverVehicle.Id] = vehicle.Handle;
|
|
}
|
|
|
|
public static Vehicle GetVehicleFromServerVehicle(ServerVehicle serverVehicle)
|
|
{
|
|
Console.WriteLine("calling GetVehicleFromServerVehicle | " + serverVehicle.Id);
|
|
if(!_serverVehicles.ContainsKey(serverVehicle.Id))
|
|
{
|
|
return null;
|
|
}
|
|
|
|
return NAPI.Pools.GetAllVehicles().Find(v => v.Handle == _serverVehicles[serverVehicle.Id]);
|
|
}
|
|
|
|
public static ServerVehicle GetServerVehicleFromVehicle(Vehicle veh)
|
|
{
|
|
using (var dbContext = new DatabaseContext())
|
|
{
|
|
foreach(KeyValuePair<int, NetHandle> pair in _serverVehicles)
|
|
{
|
|
if (pair.Value == veh.Handle)
|
|
{
|
|
return dbContext.ServerVehicles.Find(pair.Key);
|
|
}
|
|
}
|
|
}
|
|
|
|
return null;
|
|
}
|
|
}
|
|
}
|