Rename fix (#31654)
* Localize RenameCommand and delegate most of the process to MetaDataSystem.SetEntityName() * Make renaming rely on the EntityRenamedEvent. Fix issue where renaming would keep old Examine text Requires engine change * Fix localisation strings * Make PDA search be based on a renamed entity's Uid instead of its old name To do this the pda component now has an PdaOwner field which gets assigned when it is given as a loadout to a player * Fix bad merge??? huh * Use AllEntityQuery
This commit is contained in:
@@ -25,6 +25,19 @@ public abstract class SharedIdCardSystem : EntitySystem
|
||||
|
||||
SubscribeLocalEvent<IdCardComponent, MapInitEvent>(OnMapInit);
|
||||
SubscribeLocalEvent<TryGetIdentityShortInfoEvent>(OnTryGetIdentityShortInfo);
|
||||
SubscribeLocalEvent<EntityRenamedEvent>(OnRename);
|
||||
}
|
||||
|
||||
private void OnRename(ref EntityRenamedEvent ev)
|
||||
{
|
||||
// When a player gets renamed their id card is renamed as well to match.
|
||||
// Unfortunately since TryFindIdCard will succeed if the entity is also a card this means that the card will
|
||||
// keep renaming itself unless we return early.
|
||||
if (HasComp<IdCardComponent>(ev.Uid))
|
||||
return;
|
||||
|
||||
if (TryFindIdCard(ev.Uid, out var idCard))
|
||||
TryChangeFullName(idCard, ev.NewName, idCard);
|
||||
}
|
||||
|
||||
private void OnMapInit(EntityUid uid, IdCardComponent id, MapInitEvent args)
|
||||
|
||||
Reference in New Issue
Block a user