public bool ShouldAttemptDelivery(IMeshNetworkMessage networkMessage) { if (networkMessage == null) return false; if (!(typeof(TMessage).IsAssignableFrom(networkMessage.GetType()))) return false; return _MessageFilter.Invoke(networkMessage as TMessage); }
public bool ShouldAttemptDelivery(IMeshNetworkMessage networkMessage) { if (networkMessage == null) return false; if (!(typeof(TMessage).IsAssignableFrom(networkMessage.GetType()))) return false; if (!_DeliveryAction.IsAlive) return false; if (!_MessageFilter.IsAlive) return false; return ((Func<TMessage, bool>)_MessageFilter.Target).Invoke(networkMessage as TMessage); }