Example #1
0
        /// <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));
        }