using System; using System.Collections; using System.Collections.Generic; using Cysharp.Threading.Tasks; using MemoryPack; using Unity.Mathematics; namespace Net.Project.B.World { [MemoryPackable] public partial record SnapshotData { public string FileName { get; set; } public string Name { get; set; } public string Description { get; set; } public DateTime CreateTime { get; set; } public float3 Position { get; set; } public quaternion Rotation { get; set; } } public interface ISnapshotService { public string Directory { get; } public UniTask Snapshot(float3 position, quaternion rotation, int fov); UniTask> GetSnapshots(); public event Action OnSnapshot; } }