39 lines
1.6 KiB
C#
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;
|
|
}
|
|
|
|
} |