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

@@ -41,6 +41,7 @@ namespace Content.Server.PDA
SubscribeLocalEvent<PdaComponent, LightToggleEvent>(OnLightToggle);
// UI Events:
SubscribeLocalEvent<PdaComponent, BoundUIOpenedEvent>(OnPdaOpen);
SubscribeLocalEvent<PdaComponent, PdaRequestUpdateInterfaceMessage>(OnUiMessage);
SubscribeLocalEvent<PdaComponent, PdaToggleFlashlightMessage>(OnUiMessage);
SubscribeLocalEvent<PdaComponent, PdaShowRingtoneMessage>(OnUiMessage);
@@ -145,7 +146,7 @@ namespace Content.Server.PDA
if (!Resolve(uid, ref pda, false))
return;
if (!_ui.TryGetUi(uid, PdaUiKey.Key, out var ui))
if (!_ui.HasUi(uid, PdaUiKey.Key))
return;
var address = GetDeviceNetAddress(uid);
@@ -182,7 +183,15 @@ namespace Content.Server.PDA
hasInstrument,
address);
_ui.SetUiState(ui, state);
_ui.SetUiState(uid, PdaUiKey.Key, state);
}
private void OnPdaOpen(Entity<PdaComponent> ent, ref BoundUIOpenedEvent args)
{
if (!PdaUiKey.Key.Equals(args.UiKey))
return;
UpdatePdaUi(ent.Owner, ent.Comp);
}
private void OnUiMessage(EntityUid uid, PdaComponent pda, PdaRequestUpdateInterfaceMessage msg)
@@ -208,7 +217,7 @@ namespace Content.Server.PDA
return;
if (HasComp<RingerComponent>(uid))
_ringer.ToggleRingerUI(uid, msg.Session);
_ringer.ToggleRingerUI(uid, msg.Actor);
}
private void OnUiMessage(EntityUid uid, PdaComponent pda, PdaShowMusicMessage msg)
@@ -217,7 +226,7 @@ namespace Content.Server.PDA
return;
if (TryComp<InstrumentComponent>(uid, out var instrument))
_instrument.ToggleInstrumentUi(uid, msg.Session, instrument);
_instrument.ToggleInstrumentUi(uid, msg.Actor, instrument);
}
private void OnUiMessage(EntityUid uid, PdaComponent pda, PdaShowUplinkMessage msg)
@@ -227,7 +236,7 @@ namespace Content.Server.PDA
// check if its locked again to prevent malicious clients opening locked uplinks
if (TryComp<StoreComponent>(uid, out var store) && IsUnlocked(uid))
_store.ToggleUi(msg.Session.AttachedEntity!.Value, uid, store);
_store.ToggleUi(msg.Actor, uid, store);
}
private void OnUiMessage(EntityUid uid, PdaComponent pda, PdaLockUplinkMessage msg)