Net.Project.B/Src/SpotterScope/ISnapshotService.cs

29 lines
833 B
C#

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<SnapshotData> Snapshot(float3 position, quaternion rotation, int fov);
UniTask<IReadOnlyList<SnapshotData>> GetSnapshots();
public event Action<SnapshotData> OnSnapshot;
}
}