2022-07-24 12:35:00 -07:00

39 lines
1.6 KiB
C#

using System.Text.Json;
using System.Text.Json.Serialization;
namespace View_by_Distance.Shared.Models;
public class Navigate : Properties.INavigate
{
protected List<string[]> _Levels;
protected string _SourceDirectory;
protected string _DirectoryRelativePath;
protected string _EncodedSourceDirectory;
protected FaceFileSystem[] _FaceFileSystemCollection;
protected DirectoryFileSystem[] _DirectoryFileSystemCollection;
public List<string[]> Levels => _Levels;
public string SourceDirectory => _SourceDirectory;
public string DirectoryRelativePath => _DirectoryRelativePath;
public string EncodedSourceDirectory => _EncodedSourceDirectory;
public FaceFileSystem[] FaceFileSystemCollection => _FaceFileSystemCollection;
public DirectoryFileSystem[] DirectoryFileSystemCollection => _DirectoryFileSystemCollection;
[JsonConstructor]
public Navigate(List<string[]> levels, string sourceDirectory, string directoryRelativePath, string encodedSourceDirectory, FaceFileSystem[] faceFileSystemCollection, DirectoryFileSystem[] directoryFileSystemCollection)
{
_Levels = levels;
_SourceDirectory = sourceDirectory;
_DirectoryRelativePath = directoryRelativePath;
_EncodedSourceDirectory = encodedSourceDirectory;
_FaceFileSystemCollection = faceFileSystemCollection;
_DirectoryFileSystemCollection = directoryFileSystemCollection;
}
public override string ToString()
{
string result = JsonSerializer.Serialize(this, new JsonSerializerOptions() { WriteIndented = true });
return result;
}
}