refactor(app): compose settings and developer tools
This commit is contained in:
parent
60a1698ce7
commit
cd7b519f78
24 changed files with 2073 additions and 333 deletions
|
|
@ -33,8 +33,25 @@ internal interface ICombatFeedbackSink
|
|||
|
||||
internal sealed class CombatFeedbackSlot : ICombatFeedbackSink
|
||||
{
|
||||
public AcDream.UI.Abstractions.Panels.Debug.DebugVM? ViewModel { get; set; }
|
||||
public void Show(string message) => ViewModel?.AddToast(message);
|
||||
private AcDream.UI.Abstractions.Panels.Debug.DebugVM? _viewModel;
|
||||
|
||||
public void Bind(AcDream.UI.Abstractions.Panels.Debug.DebugVM viewModel)
|
||||
{
|
||||
ArgumentNullException.ThrowIfNull(viewModel);
|
||||
if (_viewModel is not null && !ReferenceEquals(_viewModel, viewModel))
|
||||
throw new InvalidOperationException(
|
||||
"Combat feedback is already bound to a developer view model.");
|
||||
_viewModel = viewModel;
|
||||
}
|
||||
|
||||
public void Unbind(AcDream.UI.Abstractions.Panels.Debug.DebugVM viewModel)
|
||||
{
|
||||
ArgumentNullException.ThrowIfNull(viewModel);
|
||||
if (ReferenceEquals(_viewModel, viewModel))
|
||||
_viewModel = null;
|
||||
}
|
||||
|
||||
public void Show(string message) => _viewModel?.AddToast(message);
|
||||
}
|
||||
|
||||
internal sealed class CombatAttackOperationsSlot : ICombatAttackOperations
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue