internal Task OnObjectEvent(BlockEvent block) { if (block.ObjectID < 0) { return(OnChannelEvent(block)); } _proxyCache.HandleEvent(block); return(Task.CompletedTask); }
public async void SendEvent <TEventArgs>(Int16 objectID, Int16 methodID, TEventArgs args) where TEventArgs : EventArgs { using var stream = new MemoryStream(); var serializer = new Serializer(stream); serializer.Serialize(args); var block = new BlockEvent { ObjectID = objectID, EventID = methodID, DataStream = stream }; await SendBlockAsync(block); }
public void HandleEvent(BlockEvent block) { FindByID(block.ObjectID)?.Proxy.FireEvent(block.EventID, block.DataStream); }
protected virtual Task OnChannelEvent(BlockEvent block) { return(Task.CompletedTask); }