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

@@ -68,16 +68,13 @@ public sealed class AccessOverriderSystem : SharedAccessOverriderSystem
private void OnDoAfter(EntityUid uid, AccessOverriderComponent component, AccessOverriderDoAfterEvent args)
{
if (!TryComp(args.User, out ActorComponent? actor))
return;
if (args.Handled || args.Cancelled)
return;
if (args.Args.Target != null)
{
component.TargetAccessReaderId = args.Args.Target.Value;
_userInterface.TryOpen(uid, AccessOverriderUiKey.Key, actor.PlayerSession);
_userInterface.OpenUi(uid, AccessOverriderUiKey.Key, args.User);
UpdateUserInterface(uid, component, args);
}
@@ -94,7 +91,7 @@ public sealed class AccessOverriderSystem : SharedAccessOverriderSystem
private void OnWriteToTargetAccessReaderIdMessage(EntityUid uid, AccessOverriderComponent component, WriteToTargetAccessReaderIdMessage args)
{
if (args.Session.AttachedEntity is not { Valid: true } player)
if (args.Actor is not { Valid: true } player)
return;
TryWriteToTargetAccessReaderId(uid, args.AccessList, player, component);
@@ -154,22 +151,19 @@ public sealed class AccessOverriderSystem : SharedAccessOverriderSystem
targetLabel,
targetLabelColor);
_userInterface.TrySetUiState(uid, AccessOverriderUiKey.Key, newState);
_userInterface.SetUiState(uid, AccessOverriderUiKey.Key, newState);
}
private List<ProtoId<AccessLevelPrototype>> ConvertAccessHashSetsToList(List<HashSet<ProtoId<AccessLevelPrototype>>> accessHashsets)
{
List<ProtoId<AccessLevelPrototype>> accessList = new List<ProtoId<AccessLevelPrototype>>();
var accessList = new List<ProtoId<AccessLevelPrototype>>();
if (accessHashsets != null && accessHashsets.Any())
if (accessHashsets.Count <= 0)
return accessList;
foreach (var hashSet in accessHashsets)
{
foreach (HashSet<ProtoId<AccessLevelPrototype>> hashSet in accessHashsets)
{
foreach (ProtoId<AccessLevelPrototype> hash in hashSet.ToArray())
{
accessList.Add(hash);
}
}
accessList.AddRange(hashSet);
}
return accessList;