Skip to content

Commit f49fa85

Browse files
committed
dev page tweaks
1 parent 1b0309b commit f49fa85

File tree

1 file changed

+41
-10
lines changed

1 file changed

+41
-10
lines changed

src/Avalonia/Core/ViewModels/DevViewModel.cs

Lines changed: 41 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -242,6 +242,28 @@ partial void OnAddonTitleChanged(string value)
242242

243243
[ObservableProperty]
244244
private string? _pathToAddonFolder;
245+
partial void OnPathToAddonFolderChanged(string? value)
246+
{
247+
if (value is null)
248+
{
249+
return;
250+
}
251+
252+
if (!Directory.Exists(value))
253+
{
254+
ErrorText = "Folder doesn't exist";
255+
return;
256+
}
257+
258+
ErrorText = null;
259+
260+
var addonJson = Path.Combine(value, "addon.json");
261+
262+
if (File.Exists(addonJson))
263+
{
264+
LoadJson(addonJson);
265+
}
266+
}
245267

246268
[ObservableProperty]
247269
private string? _gameCrc;
@@ -296,12 +318,12 @@ private async Task SelectAddonFolder()
296318

297319
PathToAddonFolder = folders[0].Path.LocalPath;
298320

299-
var addonJson = Path.Combine(PathToAddonFolder, "addon.json");
321+
//var addonJson = Path.Combine(PathToAddonFolder, "addon.json");
300322

301-
if (File.Exists(addonJson))
302-
{
303-
LoadJson(addonJson);
304-
}
323+
//if (File.Exists(addonJson))
324+
//{
325+
// LoadJson(addonJson);
326+
//}
305327
}
306328

307329
[RelayCommand]
@@ -522,6 +544,13 @@ private void CreateZip()
522544
{
523545
try
524546
{
547+
if (string.IsNullOrWhiteSpace(PathToAddonFolder) &&
548+
!Directory.Exists(PathToAddonFolder))
549+
{
550+
ErrorText = "Choose addon folder";
551+
return;
552+
}
553+
525554
var addon = CreateJson();
526555
var jsonStr = JsonSerializer.Serialize(addon, AddonManifestContext.Default.AddonDto);
527556

@@ -606,11 +635,6 @@ private AddonDto CreateJson()
606635
: IsDukeWTSelected ? DukeVersionEnum.Duke3D_WT
607636
: null;
608637

609-
if (string.IsNullOrWhiteSpace(PathToAddonFolder) &&
610-
!Directory.Exists(PathToAddonFolder))
611-
{
612-
ThrowHelper.Exception("Choose existing addon folder");
613-
}
614638
if (string.IsNullOrWhiteSpace(AddonTitle))
615639
{
616640
ThrowHelper.Exception("Select addon title");
@@ -788,6 +812,13 @@ private void SaveJson()
788812
{
789813
try
790814
{
815+
if (string.IsNullOrWhiteSpace(PathToAddonFolder) &&
816+
!Directory.Exists(PathToAddonFolder))
817+
{
818+
ErrorText = "Choose addon folder";
819+
return;
820+
}
821+
791822
var addon = CreateJson();
792823
var jsonStr = JsonSerializer.Serialize(addon, AddonManifestContext.Default.AddonDto);
793824

0 commit comments

Comments
 (0)