コード例 #1
0
        /// <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);
        }
コード例 #2
0
 /// <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)
 {
 }
コード例 #3
0
 public Discovery(ManualLogSource logger, ImmediateReader <Mod.Manifest> manifestReader)
 {
     _logger         = logger;
     _manifestReader = manifestReader;
 }
コード例 #4
0
 /// <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);
 }
コード例 #5
0
 /// <summary>Sets the on immediates action.</summary>
 public OpCode OnImmediates(ImmediateReader action)
 {
     OnReadImmediates = action;
     return(this);
 }