Content update for UI prediction (#27214)

* Content update for UI refactor

* Big update

* Sharing

* Remaining content updates

* First big update

* Prototype updates

* AUGH

* Fix UI comp ref

* Cleanup

- Fix predicted message, fix item slots, fix interaction range check.

* Fix regressions

* Make this predictive

idk why it wasn't.

* Fix slime merge

* Merge conflict

* Fix merge
This commit is contained in:
metalgearsloth
2024-04-26 18:16:24 +10:00
committed by GitHub
parent 32b81de8c5
commit 5896e68752
279 changed files with 1308 additions and 1582 deletions

View File

@@ -18,27 +18,26 @@ public sealed partial class SensorMonitoringConsoleSystem
private void UpdateConsoleUI(EntityUid uid, SensorMonitoringConsoleComponent comp)
{
if (!_userInterface.TryGetUi(uid, SensorMonitoringConsoleUiKey.Key, out var ui))
return;
if (ui.SubscribedSessions.Count == 0)
if (!_userInterface.IsUiOpen(uid, SensorMonitoringConsoleUiKey.Key))
{
return;
}
ConsoleUIState? fullState = null;
SensorMonitoringIncrementalUpdate? incrementalUpdate = null;
foreach (var session in ui.SubscribedSessions)
foreach (var actorUid in _userInterface.GetActors(uid, SensorMonitoringConsoleUiKey.Key))
{
if (comp.InitialUIStateSent.Contains(session))
if (comp.InitialUIStateSent.Contains(actorUid))
{
incrementalUpdate ??= CalculateIncrementalUpdate();
_userInterface.TrySendUiMessage(ui, incrementalUpdate, session);
_userInterface.ServerSendUiMessage(uid, SensorMonitoringConsoleUiKey.Key, incrementalUpdate, actorUid);
}
else
{
fullState ??= CalculateFullState();
_userInterface.SetUiState(ui, fullState, session);
comp.InitialUIStateSent.Add(session);
_userInterface.SetUiState(uid, SensorMonitoringConsoleUiKey.Key, fullState);
comp.InitialUIStateSent.Add(actorUid);
}
}
@@ -131,9 +130,6 @@ public sealed partial class SensorMonitoringConsoleSystem
if (!args.UiKey.Equals(SensorMonitoringConsoleUiKey.Key))
return;
if (args.Session is not { } player)
return;
component.InitialUIStateSent.Remove(player);
component.InitialUIStateSent.Remove(args.Actor);
}
}