예제 #1
0
 public Task UnSubscribeAsync(IGateWay_Obs view)
 {
     if (m_IGW_Obs.IsSubscribed(view))
     {
         m_IGW_Obs.Unsubscribe(view);
     }
     return(Task.CompletedTask);
 }
예제 #2
0
 public Task SubscribeForGameUpdates(IGameObserver subscriber)
 {
     if (!subscribers.IsSubscribed(subscriber))
     {
         subscribers.Subscribe(subscriber);
     }
     return(TaskDone.Done);
 }
예제 #3
0
 public Task Subscribe(IObserver observer)
 {
     if (!_subsManager.IsSubscribed(observer))
     {
         _subsManager.Subscribe(observer);
     }
     return(Task.CompletedTask);
 }
예제 #4
0
 public Task SubscribeAsync(IMainEntry_Obs viewer)
 {
     if (!m_subsManager.IsSubscribed(viewer))
     {
         m_subsManager.Subscribe(viewer);
     }
     return(Task.CompletedTask);
 }
예제 #5
0
 public Task ViewerConnect(IChirperViewer viewer)
 {
     if (!viewers.IsSubscribed(viewer))
     {
         viewers.Subscribe(viewer);
     }
     return(TaskDone.Done);
 }
예제 #6
0
파일: Object.cs 프로젝트: soulson/Drama
        public Task Subscribe(IObjectObserver observer)
        {
            VerifyExists();

            // TODO: determine how stealth/invisibility interact with this
            observer.HandleObjectCreate(State, GetCreationUpdate());

            if (observerManager.IsSubscribed(observer))
            {
                GetLogger().Warn($"observer {observer} tried to subscribe to {GetType().Name} {this.GetPrimaryKeyLong()} more than once");
            }
            else
            {
                observerManager.Subscribe(observer);
            }

            return(Task.CompletedTask);
        }
예제 #7
0
        public Task SubscribeAsync(IZoneOb observer)
        {
            if (!_subsManager.IsSubscribed(observer))
            {
                _subsManager.Subscribe(observer);
                logger.Debug($"¶©ÔÄIZoneOb");
            }
            else
            {
                logger.Debug($"ÒѾ­¶©ÔĹýIZoneOb");
            }
            logger.Debug($"¶©ÔÄÁ¿ {_subsManager.Count}");

            return(Task.CompletedTask);
        }
        // used by a custom MetricsTrackerTelemetryConsumer on each silo
        // to make themselves aware of when they should or shouldn't push their metrics here
        public Task Subscribe(IClusterMetricsGrainObserver observer)
        {
            try
            {
                // don't subscribe twice
                if (!Subscribers.IsSubscribed(observer))
                {
                    Subscribers.Subscribe(observer);
                }

                return(TaskDone.Done);
            }
            catch (Exception ex)
            {
                logger.TrackException(ex);
                throw;
            }
        }