wabbajack/Wabbajack.App.Blazor/State/GlobalState.cs
2022-01-20 19:34:38 +11:00

78 lines
1.4 KiB
C#

using System;
using Wabbajack.DTOs;
using Wabbajack.Paths;
namespace Wabbajack.App.Blazor.State;
public class GlobalState
{
#region Navigation Allowed
private bool _navigationAllowed = true;
public event Action OnNavigationStateChange;
public bool NavigationAllowed
{
get => _navigationAllowed;
set
{
_navigationAllowed = value;
OnNavigationStateChange?.Invoke();
}
}
#endregion
#region Install
private InstallStateEnum _installState;
private AbsolutePath _modListPath;
private ModList _modList;
public event Action OnModListPathChange;
public event Action OnModListChange;
public event Action OnInstallStateChange;
public AbsolutePath ModListPath
{
get => _modListPath;
set
{
_modListPath = value;
OnModListPathChange?.Invoke();
}
}
public ModList ModList
{
get => _modList;
set
{
_modList = value;
OnModListChange?.Invoke();
}
}
public InstallStateEnum InstallState
{
get => _installState;
set
{
_installState = value;
OnInstallStateChange?.Invoke();
}
}
public enum InstallStateEnum
{
Waiting,
Configuration,
Installing,
Success,
Failure
}
#endregion
}