using DatReaderWriter.Lib.IO;
using System.Diagnostics.CodeAnalysis;
namespace AcDream.Core.Content;
///
/// Minimal typed DAT-object lookup seam used by Core algorithms.
///
///
/// Core deliberately does not own DAT file handles or caching policy. The App
/// runtime supplies the bounded Content-layer implementation; tests and
/// short-lived tools may adapt another source explicitly.
///
public interface IDatObjectSource
{
[return: MaybeNull]
T Get(uint fileId) where T : IDBObj;
bool TryGet(uint fileId, [MaybeNullWhen(false)] out T value)
where T : IDBObj;
}