// Copyright (c) 2015 - 2023 Doozy Entertainment. All Rights Reserved. // This code can only be used under the standard Unity Asset Store End User License Agreement // A Copy of the EULA APPENDIX 1 is available at http://unity3d.com/company/legal/as_terms // ReSharper disable UnusedMemberInSuper.Global namespace Doozy.Runtime.Signals { public interface ISignalReceiver { /// Stream connection mode StreamConnection streamConnection { get; } /// Identifier used to connect to a signal provider, when stream connection mode is set to ProvideId ProviderId providerId { get; } /// Signal provider reference, used when the stream connection mode is set to ProviderReference SignalProvider providerReference { get; } /// Identifier used to connect to a signal stream, when stream connection mode is set to StreamId StreamId streamId { get; } /// Signal stream reference that this receiver is connected to (when not connected it is null) SignalStream stream { get; } /// TRUE is this receiver is connected to a signal stream bool isConnected { get; } /// Connect to signal stream using the selected connection mode void Connect(); /// Disconnect from signal stream (if connected) void Disconnect(); /// Invoked every time the stream sends a signal through /// Signal (can be a MetaSignal as well) void OnSignal(Signal signal); } }