mehr logs bei vehicle manager
This commit is contained in:
@@ -774,7 +774,7 @@ namespace ReallifeGamemode.Server.Managers
|
||||
|
||||
};
|
||||
|
||||
private static readonly Dictionary<int, NetHandle> _serverVehicles = new Dictionary<int, NetHandle>();
|
||||
private static readonly Dictionary<int, ushort> _serverVehicles = new Dictionary<int, ushort>();
|
||||
|
||||
private static readonly Dictionary<NetHandle, Vector3> lastPositions = new Dictionary<NetHandle, Vector3>();
|
||||
private static DateTime lastSave = DateTime.UtcNow;
|
||||
@@ -855,17 +855,23 @@ namespace ReallifeGamemode.Server.Managers
|
||||
{
|
||||
if (_serverVehicles.ContainsKey(serverVehicle.Id))
|
||||
{
|
||||
logger.LogCritical("Server Vehicle {Id} already has a spawned vehicle", serverVehicle.Id);
|
||||
_serverVehicles[serverVehicle.Id].Entity<Vehicle>().Delete();
|
||||
var spawnedHandle = _serverVehicles.Where(s => s.Key == serverVehicle.Id).First().Value;
|
||||
logger.LogCritical("Server Vehicle {Id} already has a spawned vehicle with handle {spawnedHandle}", serverVehicle.Id, spawnedHandle);
|
||||
new NetHandle(_serverVehicles[serverVehicle.Id], EntityType.Vehicle).Entity<Vehicle>().Delete();
|
||||
}
|
||||
|
||||
if (_serverVehicles.ContainsValue(vehicle.Handle))
|
||||
if (_serverVehicles.ContainsValue(vehicle.Handle.Value))
|
||||
{
|
||||
logger.LogCritical("Vehicle handle {Handle} already belongs");
|
||||
var dbId = _serverVehicles.Where(v => v.Value == vehicle.Handle.Value).First().Key;
|
||||
var dbIdHandle = vehicle.Handle.Value;
|
||||
logger.LogCritical("Vehicle handle {handle} already belongs to server vehicle {dbIdHandle}", dbIdHandle, dbId);
|
||||
return;
|
||||
}
|
||||
|
||||
_serverVehicles[serverVehicle.Id] = vehicle.Handle;
|
||||
var id = serverVehicle.Id;
|
||||
var handle = vehicle.Handle.Value;
|
||||
logger.LogInformation("Mapping server vehicle id {id} to vehicle {handle}", id, handle);
|
||||
_serverVehicles[serverVehicle.Id] = vehicle.Handle.Value;
|
||||
}
|
||||
|
||||
internal static void DeleteVehicle(Vehicle veh)
|
||||
@@ -873,15 +879,18 @@ namespace ReallifeGamemode.Server.Managers
|
||||
ServerVehicle sVeh;
|
||||
if ((sVeh = GetServerVehicleFromVehicle(veh)) != null)
|
||||
{
|
||||
var id = sVeh.Id;
|
||||
var handle = veh.Handle.Value;
|
||||
logger.LogInformation("Deleting server vehicle {id} mapping to spawned veh {handle}", id, handle);
|
||||
_serverVehicles.Remove(sVeh.Id);
|
||||
}
|
||||
|
||||
veh?.Delete();
|
||||
}
|
||||
|
||||
public static Vehicle GetVehicleFromHandle(NetHandle handle)
|
||||
public static Vehicle GetVehicleFromHandle(ushort handle)
|
||||
{
|
||||
return NAPI.Pools.GetAllVehicles().Find(v => v.Handle == handle);
|
||||
return NAPI.Pools.GetAllVehicles().Find(v => v.Handle.Value == handle);
|
||||
}
|
||||
|
||||
public static Vehicle GetVehicleFromId(int id)
|
||||
@@ -917,9 +926,9 @@ namespace ReallifeGamemode.Server.Managers
|
||||
|
||||
dbContext = dbContext ?? new DatabaseContext();
|
||||
|
||||
foreach (KeyValuePair<int, NetHandle> pair in _serverVehicles)
|
||||
foreach (KeyValuePair<int, ushort> pair in _serverVehicles)
|
||||
{
|
||||
if (pair.Value == veh.Handle)
|
||||
if (pair.Value == veh.Handle.Value)
|
||||
{
|
||||
return dbContext.ServerVehicles.Find(pair.Key);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user