samen kaufen und hanf -> joint

This commit is contained in:
hydrant
2021-05-24 00:04:55 +02:00
parent d72f7216cc
commit a49fcf09c7
11 changed files with 1126 additions and 788 deletions

View File

@@ -75,6 +75,11 @@ namespace ReallifeGamemode.Server.Managers
player.SetSharedData("backpackItems", JsonConvert.SerializeObject(backpackItems[player].ToArray()));
}
internal static IItem GetItem<T>() where T : IItem
{
return itemList.Where(i => i.GetType() == typeof(T)).First();
}
[RemoteEvent("CLIENT:getVehicleInventory")]
public static void SetVehicleItems(Player player)
{
@@ -134,6 +139,11 @@ namespace ReallifeGamemode.Server.Managers
player.SetSharedData("vehicleItems", JsonConvert.SerializeObject(vehicleItems[player].ToArray()));
}
public static bool CanPlayerHoldMoreWeight(Player player, int moreWeight)
{
return GetUserInventoryWeight(player) + moreWeight <= MAX_USER_INVENTORY;
}
public static void LoadItems()
{
itemList = new List<IItem>();
@@ -179,12 +189,8 @@ namespace ReallifeGamemode.Server.Managers
if (userItem.Amount == 0)
{
dbContext.Remove(userItem);
dbContext.SaveChanges();
}
Player player = user.Player;
List<UserItem> itemList = GetUserItems(player);
if (itemList == null) return;
dbContext.SaveChanges();
}
}
@@ -216,16 +222,29 @@ namespace ReallifeGamemode.Server.Managers
return new DatabaseContext().VehicleItems.ToList().FindAll(i => i.GetVehicle().GetVehicle() == vehicle);
}
public static List<UserItem> GetUserItems(Player player)
public static List<UserItem> GetUserItems(Player player, DatabaseContext dbContext = null)
{
var user = player.GetUser();
using (var context = new DatabaseContext())
if (dbContext == null)
{
return context.UserItems.ToList().FindAll(i => i.UserId == user.Id);
using (dbContext = new DatabaseContext())
{
return GetUserItemsInternal(player, dbContext);
}
}
else
{
return GetUserItemsInternal(player, dbContext);
}
}
private static List<UserItem> GetUserItemsInternal(Player player, DatabaseContext dbContext)
{
var user = player.GetUser(dbContext);
return dbContext.UserItems.ToList().FindAll(i => i.UserId == user.Id);
}
public static int GetUserInventoryWeight(Player player)
{
var user = player.GetUser();