fix hanf performance??

This commit is contained in:
hydrant
2021-05-29 00:00:17 +02:00
parent 73dfeb4c0d
commit 0b498ad6ae
3 changed files with 33 additions and 17 deletions

View File

@@ -149,7 +149,7 @@ namespace ReallifeGamemode.Server
Rentcar.Setup();
// HanfManager.Load();
HanfManager.Load();
World.WeatherSync.Load();

View File

@@ -173,8 +173,11 @@ namespace ReallifeGamemode.Server.Managers
private static void UpdateHanfDataTimer_Elapsed(object sender, ElapsedEventArgs e)
{
using var dbContext = new DatabaseContext();
UpdateHanfWorldData(dbContext);
NAPI.Task.Run(() =>
{
using var dbContext = new DatabaseContext();
UpdateHanfWorldData(dbContext);
});
}
private static void OnSeedBuyRangeColShapeEnter(ColShape colShape, Player player)
@@ -205,7 +208,6 @@ namespace ReallifeGamemode.Server.Managers
internal static void StartCannabisPlanting(Player player)
{
return;
player.ToggleInventory(InventoryToggleOption.HIDE);
if (!player.IsAlive())
@@ -286,12 +288,31 @@ namespace ReallifeGamemode.Server.Managers
});
}
public async static void UpdateHanfForPlayer(Player player, List<CannabisData> cannabisData = null)
public static void UpdateHanfForPlayer(Player player, List<CannabisData> cannabisData = null)
{
cannabisData ??= _currentCannabisData;
await NAPI.Task.WaitForMainThread();
player.SetSharedData("hanfData", JsonConvert.SerializeObject(cannabisData));
//player.TriggerEvent("SERVER:Hanf_UpdateHanfData");
string jsonStr = JsonConvert.SerializeObject(cannabisData);
List<string> parts = GetChunks(jsonStr, 500);
player.TriggerEvent("SERVER:Hanf_UpdateHanf", parts);
}
public static List<string> GetChunks(string value, int chunkSize)
{
List<string> triplets = new List<string>();
while (value.Length > chunkSize)
{
triplets.Add(value.Substring(0, chunkSize));
value = value.Substring(chunkSize);
}
if (value != "")
{
triplets.Add(value);
}
return triplets;
}
[RemoteEvent("CLIENT:Hanf_BuySeeds")]
@@ -349,7 +370,7 @@ namespace ReallifeGamemode.Server.Managers
}
[RemoteEvent("CLIENT:Hanf_HarvestHanf")]
public async void HanfManagerHarvestHanf(Player player, long hanfId)
public void HanfManagerHarvestHanf(Player player, long hanfId)
{
if (!player.IsLoggedIn())
{