} //тег сообщения public MessageBase(object sender, ServiceShareData id, string tag, object data = null) { this.sender = sender; this.id = id; this.tag = tag; this.data = data; }
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); }
public static MessageBase Create(object sender, ServiceShareData id, string tag = null) { return(new MessageBase(sender, id, tag)); }
public void Send(ServiceShareData id, object sender = null, string tag = "") { broker.Publish(MessageBase.Create(sender, id, tag)); }