Rewrite of vehicle system

This commit is contained in:
hydrant
2018-11-28 19:36:46 +01:00
parent 52ab83f5ea
commit d5b249e8e1
12 changed files with 137 additions and 174 deletions

View File

@@ -1,4 +1,5 @@
using GTANetworkAPI;
using reallife_gamemode.Server.Entities;
using reallife_gamemode.Server.Extensions;
using reallife_gamemode.Server.Managers;
using System;
@@ -68,11 +69,9 @@ namespace reallife_gamemode.Server.Events
PrimaryColor = vehiclePrimaryColor,
SecondaryColor = vehicleSecondaryColor,
Locked = vehicleLocked,
Engine = vehicleEngine,
Dimension = vehicleDimension,
Active = true
};
saveData.Vehicles.Add(dataSet);
saveData.ServerVehicles.Add(dataSet);
saveData.SaveChanges();
}
}
@@ -93,11 +92,9 @@ namespace reallife_gamemode.Server.Events
PrimaryColor = vehiclePrimaryColor,
SecondaryColor = vehicleSecondaryColor,
Locked = vehicleLocked,
Engine = vehicleEngine,
Dimension = vehicleDimension,
Active = true
};
saveData.FactionVehicles.Add(dataSet);
saveData.ServerVehicles.Add(dataSet);
saveData.SaveChanges();
}
}
@@ -109,7 +106,6 @@ namespace reallife_gamemode.Server.Events
var dataSet = new Entities.ShopVehicle
{
Model = vehicleModel,
ModelName = vehicleModelName,
PositionX = vehiclePosition.X,
PositionY = vehiclePosition.Y,
PositionZ = vehiclePosition.Z,
@@ -117,10 +113,9 @@ namespace reallife_gamemode.Server.Events
NumberPlate = vehicleNumberPlate,
PrimaryColor = vehiclePrimaryColor,
SecondaryColor = vehicleSecondaryColor,
Dimension = vehicleDimension,
Active = true
};
saveData.ShopVehicles.Add(dataSet);
saveData.ServerVehicles.Add(dataSet);
saveData.SaveChanges();
}
}
@@ -139,44 +134,31 @@ namespace reallife_gamemode.Server.Events
};
saveData.GotoPoints.Add(dataSet);
saveData.SaveChanges();
LoadManager.GotoPointList.Add(dataSet);
}
}
public static void SaveAllOnSave()
{
// Alle Fahrzeuge
using (var saveAll = new Model.DatabaseContext())
{
//TODO Fahrzeugschäden und Tankfüllstände
//User Vehicle
foreach (Vehicle v in LoadManager.UserVehicleList)
foreach(ServerVehicle veh in saveAll.ServerVehicles)
{
int ownerId = v.GetData("ownerId");
Entities.UserVehicle userVehicle = saveAll.UserVehicles.FirstOrDefault(u => u.UserId == ownerId);
userVehicle.PositionX = v.Position.X;
userVehicle.PositionY = v.Position.Y;
userVehicle.PositionZ = v.Position.Z;
userVehicle.Heading = v.Heading;
}
Vehicle v = VehicleManager.GetVehicleFromServerVehicle(veh);
//Faction Vehicle
foreach (Vehicle v in LoadManager.FactionVehicleList)
{
int factionId = v.GetData("factionId");
Entities.FactionVehicle factionVehicle = saveAll.FactionVehicles.FirstOrDefault(u => u.FactionId == factionId);
factionVehicle.PositionX = v.Position.X;
factionVehicle.PositionY = v.Position.Y;
factionVehicle.PositionZ = v.Position.Z;
factionVehicle.Heading = v.Heading;
veh.PositionX = v.Position.X;
veh.PositionY = v.Position.Y;
veh.PositionZ = v.Position.Z;
veh.Heading = v.Heading;
}
//Alle Spieler
foreach (Client player in NAPI.Pools.GetAllPlayers())
{
int userId = player.GetUser().Id;
Entities.User user = saveAll.Users.FirstOrDefault(u => u.Id == userId);
user.PositionX = player.Position.X;
user.PositionY = player.Position.Y;
user.PositionZ = player.Position.Z;
Vector3 pos = player.Position;
User user = player.GetUser(saveAll);
user.PositionX = pos.X;
user.PositionY = pos.Y;
user.PositionZ = pos.Z;
}
saveAll.SaveChanges();