PopupSystem now uses Filter methods for getting players from entities. (#4751)

This commit is contained in:
Vera Aguilera Puerto
2021-10-03 16:15:15 +02:00
committed by GitHub
parent 45d62f6eed
commit 3e2a8738a9
3 changed files with 9 additions and 12 deletions

View File

@@ -79,24 +79,24 @@ namespace Content.Client.Popups
{
if (!filter.CheckPrediction)
return;
PopupCursor(message);
}
public override void PopupCoordinates(string message, EntityCoordinates coordinates, Filter filter)
{
if (!filter.CheckPrediction)
return;
PopupCoordinates(message, coordinates);
}
public override void PopupEntity(string message, EntityUid uid, Filter filter)
{
if (!filter.CheckPrediction)
return;
}
public override Filter GetFilterFromEntity(IEntity entity)
{
return _playerManager.LocalPlayer?.ControlledEntity == entity
? Filter.Local() : Filter.Empty().Unpredicted();
PopupEntity(message, uid);
}
#endregion

View File

@@ -22,11 +22,5 @@ namespace Content.Server.Popups
{
RaiseNetworkEvent(new PopupEntityEvent(message, uid), filter);
}
public override Filter GetFilterFromEntity(IEntity entity)
{
return entity.TryGetComponent(out ActorComponent? actor)
? Filter.SinglePlayer(actor.PlayerSession) : Filter.Empty();
}
}
}

View File

@@ -39,7 +39,10 @@ namespace Content.Shared.Popups
/// player attached to the entity.
/// </summary>
/// <remarks>Using this method is NOT recommended, please use one of the other methods instead.</remarks>
public abstract Filter GetFilterFromEntity(IEntity entity);
public Filter GetFilterFromEntity(IEntity entity)
{
return Filter.Entities(entity.Uid);
}
}
/// <summary>