//subscriber methods
 public void AddSubscriber(UserObserver a_sub)
 {
     if (!m_observers.Contains(a_sub))
     {
         m_observers.Add(a_sub);
     }
 }
Exemple #2
0
 public UserObserver getObserver()
 {
     if (observer == null)
     {
         observer = new UserObserver();
     }
     return(observer);
 }
Exemple #3
0
 public override void _Ready()
 {
     LocalUser = (UserObserver)GetNode("/root/GameRoot/Management/UserObserver_1");
     //We've essentially connected to our own session when we start the application
     GetNode("/root").Connect("ready", this, nameof(OnConnectedToSession),
                              new Godot.Collections.Array {
         -1
     });
     Networking.Instance.Connect(nameof(Networking.ConnectedToSession), this, nameof(OnConnectedToSession));
 }
Exemple #4
0
        public Client(Guid userId, int clientPort, IPEndPoint stanServerIP, int refreshInterval, SynchronizationContext ctx)
        {
            _selfId         = userId;
            _stanIP         = stanServerIP;
            _refreshMs      = refreshInterval;
            _clientPort     = clientPort;
            userObserver    = new UserObserver();
            messageObserver = new MessageObserver(_selfId);
            var blackHole = new UndefinedResolver();
            var routes    = userObserver.Compose(messageObserver, blackHole);

            observer = new UDPObserver(_clientPort, ctx, routes);
        }
Exemple #5
0
        public override void Notify(NotificationData data)
        {
            Subject subject = new Subject();

            User[] query = db.GetUsers(user => user.Type == 2);

            foreach (User user in query)
            {
                UserObserver observer = new UserObserver(user.Id);
                subject.Attach(observer);
            }

            subject.Notify(data);
        }
 public bool RemoveSubscriber(UserObserver a_sub)
 {
     return m_observers.Remove(a_sub);
 }