mirror of
https://github.com/gwdevhub/Daybreak.git
synced 2026-07-24 12:06:34 +00:00
37 lines
1.2 KiB
C#
37 lines
1.2 KiB
C#
using Daybreak.Shared.Models.Builds;
|
|
using Daybreak.Shared.Services.BuildTemplates;
|
|
using TrailBlazr.Services;
|
|
|
|
namespace Daybreak.Views;
|
|
public sealed class SingleBuildTemplateViewModel(
|
|
IViewManager viewManager,
|
|
IBuildTemplateManager buildTemplateManager,
|
|
IAttributePointCalculator attributePointCalculator)
|
|
: BuildTemplateViewModelBase<SingleBuildTemplateViewModel, SingleBuildTemplateView>(buildTemplateManager, attributePointCalculator, viewManager)
|
|
{
|
|
protected override void LoadBuild(IBuildEntry? buildEntry)
|
|
{
|
|
if (buildEntry is not SingleBuildEntry singleBuildEntry)
|
|
{
|
|
throw new InvalidOperationException($"Expected build entry to be of type {nameof(SingleBuildEntry)} but got {buildEntry?.GetType().Name}");
|
|
}
|
|
|
|
this.BuildEntry = singleBuildEntry;
|
|
}
|
|
|
|
protected override IBuildEntry SaveBuild()
|
|
{
|
|
return this.BuildEntry ?? throw new InvalidOperationException("Single build is null");
|
|
}
|
|
|
|
protected override void ChangeBuildName(string buildName)
|
|
{
|
|
if (this.BuildEntry is null)
|
|
{
|
|
return;
|
|
}
|
|
|
|
this.BuildEntry.Name = buildName;
|
|
}
|
|
}
|