This reference covers the public types defined in SignalSystem. Other types used by these members, such as SignalBus, are documented in the BusSystem.
SaffronLibrarySignals
Namespace: SaffronLibrary.Prime.Systems.Signals
Canonical signal keys shared across SaffronLibrary.
public static class SaffronLibrarySignalsFields
// Raised when the active scene has finished bootstrapping and is ready
// for dependent systems. Late subscribers are invoked immediately.
public static readonly SignalKey SceneReady;
// Raised when every system registered with the initialization manager has initialised.
public static readonly SignalKey SystemsReady;
// Raised when the Data system has loaded its definitions and is ready to answer queries.
public static readonly SignalKey DataSystemReady;The code does not state which system raises each of these signals.
SignalKeyNames
Namespace: SaffronLibrary.Prime.Systems.Signals
Holds the string names used to create the keys in SaffronLibrarySignals.
public static class SignalKeyNamesConstants
// Value: "core.signal.scene.ready"
public const string SceneReady;
// Value: "core.signal.systems.ready"
public const string SystemsReady;
// Value: "core.signal.data.ready"
public const string DataSystemReady;Signal
Namespace: SaffronLibrary.Prime.Systems.Signals
The message delivered by the signal bus when a signal is raised. It has no Domain.
public sealed class SignalProperties
// The signal that was raised. The signal bus routes by this key.
public SignalKey Key { get; }Constructors
// Creates a signal for the given key.
public Signal(SignalKey key)ISignalKey
Namespace: SaffronLibrary.Prime.Systems.Signals.Interfaces
Contract for signal identifiers.
public interface ISignalKeyProperties
// The signal's unique string Id.
string Id { get; }SignalKey
Namespace: SaffronLibrary.Prime.Systems.Signals
Identifies a signal by its unique name. Two keys with the same name refer to the same signal.
public readonly struct SignalKey : ISignalKey, IEquatable<SignalKey>Properties
// The signal's unique string Id.
public string Id { get; }Constructors
// Creates a key for the signal with the given name.
public SignalKey(string id)Methods
// Returns whether the other key names the same signal.
public bool Equals(SignalKey other)
// Returns whether the object is a SignalKey naming the same signal.
public override bool Equals(object obj)
// Returns a hash code based on the signal's name.
public override int GetHashCode()
// Returns the signal's name.
public override string ToString()The constructor does not check its argument. A default SignalKey has a null Id. In that case, GetHashCode throws a NullReferenceException, and ToString returns null.