Adjust some frametiming stuff (#6496)
This commit is contained in:
@@ -182,7 +182,7 @@ public sealed partial class AdminLogSystem : SharedAdminLogSystem
|
||||
|
||||
private async Task SaveLogs()
|
||||
{
|
||||
_accumulatedFrameTime = 0;
|
||||
_accumulatedFrameTime = 0f;
|
||||
|
||||
// TODO ADMIN LOGS array pool
|
||||
var copy = new List<QueuedLog>(_logQueue.Count + _preRoundLogQueue.Count);
|
||||
|
||||
@@ -37,25 +37,28 @@ namespace Content.Server.Animals.Systems
|
||||
{
|
||||
udder.AccumulatedFrameTime += frameTime;
|
||||
|
||||
if (udder.AccumulatedFrameTime < udder.UpdateRate)
|
||||
continue;
|
||||
|
||||
// Actually there is food digestion so no problem with instant reagent generation "OnFeed"
|
||||
if (EntityManager.TryGetComponent<HungerComponent?>(udder.Owner, out var hunger))
|
||||
while (udder.AccumulatedFrameTime > udder.UpdateRate)
|
||||
{
|
||||
hunger.HungerThresholds.TryGetValue(HungerThreshold.Peckish, out var targetThreshold);
|
||||
udder.AccumulatedFrameTime -= udder.UpdateRate;
|
||||
|
||||
// Is there enough nutrition to produce reagent?
|
||||
if (hunger.CurrentHunger < targetThreshold)
|
||||
// Actually there is food digestion so no problem with instant reagent generation "OnFeed"
|
||||
if (EntityManager.TryGetComponent<HungerComponent?>(udder.Owner, out var hunger))
|
||||
{
|
||||
hunger.HungerThresholds.TryGetValue(HungerThreshold.Peckish, out var targetThreshold);
|
||||
|
||||
// Is there enough nutrition to produce reagent?
|
||||
if (hunger.CurrentHunger < targetThreshold)
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!_solutionContainerSystem.TryGetSolution(udder.Owner, udder.TargetSolutionName,
|
||||
out var solution))
|
||||
continue;
|
||||
|
||||
//TODO: toxins from bloodstream !?
|
||||
_solutionContainerSystem.TryAddReagent(udder.Owner, solution, udder.ReagentId,
|
||||
udder.QuantityPerUpdate, out var accepted);
|
||||
}
|
||||
|
||||
if (!_solutionContainerSystem.TryGetSolution(udder.Owner, udder.TargetSolutionName, out var solution))
|
||||
continue;
|
||||
|
||||
//TODO: toxins from bloodstream !?
|
||||
_solutionContainerSystem.TryAddReagent(udder.Owner, solution, udder.ReagentId, udder.QuantityPerUpdate, out var accepted);
|
||||
udder.AccumulatedFrameTime = 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -72,7 +72,7 @@ namespace Content.Server.Botany.Systems
|
||||
if (_timer < 3f)
|
||||
return;
|
||||
|
||||
_timer = 0f;
|
||||
_timer -= 3f;
|
||||
|
||||
foreach (var plantHolder in EntityManager.EntityQuery<PlantHolderComponent>())
|
||||
{
|
||||
|
||||
@@ -19,7 +19,8 @@ namespace Content.Server.Nutrition.EntitySystems
|
||||
{
|
||||
comp.OnUpdate(_accumulatedFrameTime);
|
||||
}
|
||||
_accumulatedFrameTime = 0;
|
||||
|
||||
_accumulatedFrameTime -= 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user