예제 #1
0
    }                                       //тег сообщения

    public MessageBase(object sender, ServiceShareData id, string tag, object data = null)
    {
        this.sender = sender;
        this.id     = id;
        this.tag    = tag;
        this.data   = data;
    }
예제 #2
0
 public void Subscribe(ServiceShareData id, Action next, object sender = null, string tag = "")
 {
     var sub = broker.Receive <MessageBase>().Where(
         ctx =>
         (ctx.id == id) &&
         (ctx.sender == null || ctx.sender == sender) &&
         (ctx.tag == "" || ctx.tag == tag)
         ).Subscribe(_ => next.Invoke()).AddTo(Toolbox.GetManager <MessageManager>().subscriptions);
 }
예제 #3
0
 public static MessageBase Create(object sender, ServiceShareData id, string tag = null)
 {
     return(new MessageBase(sender, id, tag));
 }
예제 #4
0
 public void Send(ServiceShareData id, object sender = null, string tag = "")
 {
     broker.Publish(MessageBase.Create(sender, id, tag));
 }