/// <summary> /// Subscribes the session to get PVS updates from the point of view of the specified entity. /// </summary> public void AddViewSubscriber(EntityUid uid, IPlayerSession session) { // If the entity doesn't have the component, it will be added. var viewSubscriber = EntityManager.EnsureComponent <ViewSubscriberComponent>(uid); if (viewSubscriber.SubscribedSessions.Contains(session)) { return; // Already subscribed, do nothing else. } viewSubscriber.SubscribedSessions.Add(session); session.AddViewSubscription(uid); RaiseLocalEvent(uid, new ViewSubscriberAddedEvent(uid, session)); }