Moved VisibilityFlags to EyeComponent (#3716)

Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
This commit is contained in:
Acruid
2021-03-27 17:37:19 -07:00
committed by GitHub
parent c8cb23e1fa
commit ac219e099d
4 changed files with 33 additions and 25 deletions

View File

@@ -131,13 +131,12 @@ namespace Content.Server.GameObjects.EntitySystems
// Get players that are in range and whose visibility layer matches the arrow's.
var viewers = _playerManager.GetPlayersBy((playerSession) =>
{
if ((playerSession.VisibilityMask & layer) == 0)
return false;
var ent = playerSession.ContentData()?.Mind?.CurrentEntity;
return ent != null
&& ent.Transform.MapPosition.InRange(player.Transform.MapPosition, PointingRange);
if (ent is null || (!ent.TryGetComponent<EyeComponent>(out var eyeComp) || (eyeComp.VisibilityMask & layer) != 0))
return false;
return ent.Transform.MapPosition.InRange(player.Transform.MapPosition, PointingRange);
});
string selfMessage;