/// <summary> /// Tries to get a reader, returning a success <see langword="bool"/> instead of throwing /// </summary> /// <param name="reader">The reader, if it was found</param> /// <typeparam name="T">The type to get the reader for</typeparam> public bool TryGet <T>([MaybeNullWhen(false)] out ImmediateReader <T> reader) where T : notnull { if (TryGet(typeof(T), out var obj)) { reader = (ImmediateReader <T>)obj; return(true); } reader = null; return(false); }
/// <summary> /// Creates an instance of <see cref="ImmediateTypedFileHandle{T}"/> /// </summary> /// <param name="handle">The raw file handle to deserialize</param> /// <param name="reader">The immediate reader responsible for deserialization</param> public ImmediateTypedFileHandle(IFileHandle handle, ImmediateReader <T> reader) : base(handle, reader) { }
public Discovery(ManualLogSource logger, ImmediateReader <Mod.Manifest> manifestReader) { _logger = logger; _manifestReader = manifestReader; }
/// <summary> /// Adds a reader to the collection /// </summary> /// <param name="reader">The reader to add</param> /// <typeparam name="T">The type the reader is responsible for</typeparam> public void Add <T>(ImmediateReader <T> reader) where T : notnull { Add(typeof(T), reader); }
/// <summary>Sets the on immediates action.</summary> public OpCode OnImmediates(ImmediateReader action) { OnReadImmediates = action; return(this); }