Skip to content

Commit

Permalink
Release 0.9.9.15 (#574)
Browse files Browse the repository at this point in the history
* Setup release 0.9.9.15

* Export team build from focus view (#573)

Closes #573

* Fix load skill template
  • Loading branch information
AlexMacocian authored Feb 4, 2024
1 parent f4bc58b commit b76a9b8
Show file tree
Hide file tree
Showing 4 changed files with 70 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
<ColumnDefinition Width="*"></ColumnDefinition>
<ColumnDefinition Width="*"></ColumnDefinition>
<ColumnDefinition Width="*"></ColumnDefinition>
<ColumnDefinition Width="*"></ColumnDefinition>
</Grid.ColumnDefinitions>
<TextBlock
Grid.Column="0"
Expand All @@ -27,7 +28,7 @@
HorizontalAlignment="Left" />
<buttons:HighlightButton
Grid.Column="1"
Title="Edit Build"
Title="Export Build"
HighlightColor="{DynamicResource MahApps.Brushes.Accent}"
Foreground="{DynamicResource MahApps.Brushes.ThemeForeground}"
Margin="10, 0, 10, 0"
Expand All @@ -40,6 +41,19 @@
ToolTip="Load current build"/>
<buttons:HighlightButton
Grid.Column="2"
Title="Export Team Build"
HighlightColor="{DynamicResource MahApps.Brushes.Accent}"
Foreground="{DynamicResource MahApps.Brushes.ThemeForeground}"
Margin="10, 0, 10, 0"
HorizontalAlignment="Stretch"
HorizontalContentAlignment="Center"
VerticalContentAlignment="Center"
Cursor="Hand"
FontSize="18"
MouseLeftButtonDown="EditTeamBuild_MouseLeftButtonDown"
ToolTip="Load current team build"/>
<buttons:HighlightButton
Grid.Column="3"
Title="Meta Builds"
HighlightColor="{DynamicResource MahApps.Brushes.Accent}"
Foreground="{DynamicResource MahApps.Brushes.ThemeForeground}"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,13 @@
using Daybreak.Models.Guildwars;
using Daybreak.Services.BuildTemplates;
using Daybreak.Services.Navigation;
using Daybreak.Services.Scanner;
using Daybreak.Views;
using Microsoft.Extensions.DependencyInjection;
using NAudio.CoreAudioApi;
using System;
using System.Core.Extensions;
using System.Threading;
using System.Windows.Controls;

namespace Daybreak.Controls.FocusViewComponents;
Expand All @@ -14,22 +17,26 @@ namespace Daybreak.Controls.FocusViewComponents;
/// </summary>
public partial class MainPlayerInformationComponent : UserControl
{
private readonly IGuildwarsMemoryCache guildwarsMemoryCache;
private readonly IBuildTemplateManager buildTemplateManager;
private readonly IViewManager viewManager;

public event EventHandler<string>? NavigateToClicked;

public MainPlayerInformationComponent()
: this(
Launcher.Instance.ApplicationServiceProvider.GetRequiredService<IGuildwarsMemoryCache>(),
Launcher.Instance.ApplicationServiceProvider.GetRequiredService<IBuildTemplateManager>(),
Launcher.Instance.ApplicationServiceProvider.GetRequiredService<IViewManager>())
{
}

public MainPlayerInformationComponent(
IGuildwarsMemoryCache guildwarsMemoryCache,
IBuildTemplateManager buildTemplateManager,
IViewManager viewManager)
{
this.guildwarsMemoryCache = guildwarsMemoryCache.ThrowIfNull();
this.buildTemplateManager = buildTemplateManager.ThrowIfNull();
this.viewManager = viewManager.ThrowIfNull();
this.InitializeComponent();
Expand Down Expand Up @@ -97,4 +104,38 @@ private void EditBuild_MouseLeftButtonDown(object _, System.Windows.Input.MouseB
this.viewManager.ShowView<SingleBuildTemplateView>(buildEntry);
}
}

private async void EditTeamBuild_MouseLeftButtonDown(object _, System.Windows.Input.MouseButtonEventArgs e)
{
var gameData = await this.guildwarsMemoryCache.ReadGameData(CancellationToken.None);
if (gameData is null)
{
return;
}

var teamBuild = this.buildTemplateManager.CreateTeamBuild();
teamBuild.Builds.Clear();
var mainPlayerBuild = this.buildTemplateManager.CreateSingleBuild();
mainPlayerBuild.Primary = gameData.MainPlayer?.CurrentBuild?.Primary!;
mainPlayerBuild.Secondary = gameData.MainPlayer?.CurrentBuild?.Secondary!;
mainPlayerBuild.Attributes = gameData.MainPlayer?.CurrentBuild?.Attributes!;
mainPlayerBuild.Skills = gameData.MainPlayer?.CurrentBuild?.Skills!;
teamBuild.Builds.Add(mainPlayerBuild);
foreach (var player in gameData.Party!)
{
if (player.CurrentBuild is null)
{
continue;
}

var singleBuildEntry = this.buildTemplateManager.CreateSingleBuild();
singleBuildEntry.Primary = player.CurrentBuild.Primary;
singleBuildEntry.Secondary = player.CurrentBuild.Secondary;
singleBuildEntry.Attributes = player.CurrentBuild.Attributes;
singleBuildEntry.Skills = player.CurrentBuild.Skills;
teamBuild.Builds.Add(singleBuildEntry);
}

this.viewManager.ShowView<TeamBuildTemplateView>(teamBuild);
}
}
2 changes: 1 addition & 1 deletion Daybreak/Daybreak.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
<LangVersion>preview</LangVersion>
<ApplicationIcon>Daybreak.ico</ApplicationIcon>
<IncludePackageReferencesDuringMarkupCompilation>true</IncludePackageReferencesDuringMarkupCompilation>
<Version>0.9.9.14</Version>
<Version>0.9.9.15</Version>
<EnableWindowsTargeting>true</EnableWindowsTargeting>
<UserSecretsId>cfb2a489-db80-448d-a969-80270f314c46</UserSecretsId>
<AllowUnsafeBlocks>True</AllowUnsafeBlocks>
Expand Down
17 changes: 13 additions & 4 deletions Daybreak/Views/FocusView.xaml.cs
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
using Daybreak.Configuration.Options;
using Daybreak.Models;
using Daybreak.Models.Builds;
using Daybreak.Models.Guildwars;
using Daybreak.Models.LaunchConfigurations;
using Daybreak.Services.ApplicationLauncher;
Expand Down Expand Up @@ -626,14 +627,22 @@ private void Browser_MaximizeClicked(object _, EventArgs e)

private void Browser_BuildDecoded(object _, DownloadedBuild e)
{
if (e is null)
if (e is null ||
e.Build is null)
{
return;
}

var buildEntry = this.buildTemplateManager.CreateSingleBuild();
buildEntry.Name = e.PreferredName ?? buildEntry.Name;
this.viewManager.ShowView<SingleBuildTemplateView>(buildEntry);
e.Build.Name = e.PreferredName ?? e.Build.Name;
if (e.Build is SingleBuildEntry)
{
this.viewManager.ShowView<SingleBuildTemplateView>(e.Build);
}
else if (e.Build is TeamBuildEntry)
{
this.viewManager.ShowView<TeamBuildTemplateView>(e.Build);
}

}

private void Component_NavigateToClicked(object _, string e)
Expand Down

0 comments on commit b76a9b8

Please sign in to comment.