diff --git a/RustTools/App.xaml.cs b/RustTools/App.xaml.cs
index e3d00d5..28b3ab3 100644
--- a/RustTools/App.xaml.cs
+++ b/RustTools/App.xaml.cs
@@ -52,10 +52,10 @@ public partial class App : Microsoft.UI.Xaml.Application
public App()
{
InitializeComponent();
- if (!Directory.Exists(wj.CD))
- {
- Directory.CreateDirectory(wj.CD);
- }
+ //if (!Directory.Exists(wj.CD))
+ //{
+ // Directory.CreateDirectory(wj.CD);
+ //}
// 注册激活事件处理程序
Host = Microsoft.Extensions.Hosting.Host.
CreateDefaultBuilder().
diff --git a/RustTools/Assets/image/folder.svg b/RustTools/Assets/image/folder.svg
new file mode 100644
index 0000000..a831684
--- /dev/null
+++ b/RustTools/Assets/image/folder.svg
@@ -0,0 +1,6 @@
+
+
+
\ No newline at end of file
diff --git a/RustTools/Assets/image/rwmod.svg b/RustTools/Assets/image/rwmod.svg
new file mode 100644
index 0000000..e587930
--- /dev/null
+++ b/RustTools/Assets/image/rwmod.svg
@@ -0,0 +1,5 @@
+
\ No newline at end of file
diff --git a/RustTools/MainWindow.xaml.cs b/RustTools/MainWindow.xaml.cs
index ea31f31..3a33ce2 100644
--- a/RustTools/MainWindow.xaml.cs
+++ b/RustTools/MainWindow.xaml.cs
@@ -17,8 +17,6 @@ public sealed partial class MainWindow : WindowEx
{
InitializeComponent();
gj.SetBackTheme(this);
- //gj.sc("lujing"+ AppContext.BaseDirectory);
- //Resources
AppWindow.SetIcon(Path.Combine(AppContext.BaseDirectory, "Assets/WindowIcon.ico"));
//AppWindow.SetIcon(Path.Combine(AppContext.BaseDirectory, "Assets/Icon.ico"));
Content = null;
diff --git a/RustTools/RustTools.csproj b/RustTools/RustTools.csproj
index 9f5aeef..731408f 100644
--- a/RustTools/RustTools.csproj
+++ b/RustTools/RustTools.csproj
@@ -4,11 +4,13 @@
net7.0-windows10.0.19041.0
10.0.17763.0
RustTools
+ x64
x86;x64;arm64
+ true
win10-x86;win10-x64;win10-arm64
- enable
- enable
- true
+ enable
+ enable
+ true
true
RustTools
app.manifest
@@ -16,8 +18,8 @@
Assets\WindowIcon.ico
README.md
zh-cn
-
-
+
+
False
True
3386EC79D3BB9691D0A8DA634167500B242E109D
@@ -29,20 +31,7 @@
C:\\RustTools
D:\RustTools
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
@@ -58,19 +47,18 @@
-
-
-
+
+ Always
+
+
+
MSBuild:Compile
MSBuild:Compile
-
- MSBuild:Compile
-
MSBuild:Compile
@@ -94,9 +82,10 @@
-
+
+
true
-
-
+
+
\ No newline at end of file
diff --git a/RustTools/Themes/Generic.xaml b/RustTools/Themes/Generic.xaml
deleted file mode 100644
index 71528c2..0000000
--- a/RustTools/Themes/Generic.xaml
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
-
diff --git a/RustTools/ViewModels/ModuleViewModel.cs b/RustTools/ViewModels/ModuleViewModel.cs
index 799013a..a6a37f1 100644
--- a/RustTools/ViewModels/ModuleViewModel.cs
+++ b/RustTools/ViewModels/ModuleViewModel.cs
@@ -1,9 +1,14 @@
using System;
using System.Collections.Generic;
+using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using CommunityToolkit.Mvvm.ComponentModel;
+using Microsoft.UI.Xaml;
+using Microsoft.UI.Xaml.Controls;
+using RustTools.muqing;
+using RustTools.Views;
namespace RustTools.ViewModels;
///
@@ -11,8 +16,71 @@ namespace RustTools.ViewModels;
///
public class ModuleViewModel : ObservableRecipient
{
+
+ public ObservableCollection ListMod = new();
public ModuleViewModel()
{
-
+
+ var iniHelper = new IniHelper();
+ iniHelper.Load(IniHelper.FILE.Config);
+ var v = iniHelper.GetValue(IniHelper.CODE.Rust, IniHelper.KEY.ModFileUrl);
+ if (v == string.Empty)
+ {
+ return;
+ }
+
+ var subfolders = Directory.GetDirectories(v);
+ foreach (var item in subfolders)
+ {
+ var info = new DirectoryInfo(item);
+ ListMod.Add(new DataObject(info));
+ }
+ var files = Directory.GetFiles(v);
+ foreach (var item in files)
+ {
+ var info = new FileInfo(item);
+ if (info.Name.EndsWith(".rwmod"))
+ {
+ ListMod.Add(new DataObject(info));
+ }
+ }
+ }
+
+ public async void Button_Rwmod(object sender, RoutedEventArgs e)
+ {
+
+ var menuItem = sender as MenuFlyoutItem;
+ if (menuItem != null)
+ {
+ if (menuItem.DataContext is DataObject folderItem)
+ {
+ var filepath = Path.Combine(Path.GetDirectoryName(folderItem.Dri), folderItem.Name + ".rwmod");
+ if (File.Exists(filepath))
+ {
+ var show = await new ContentDialog()
+ {
+ XamlRoot = menuItem.XamlRoot,
+ Title = "警告",
+ Content = "已经存在必须覆盖",
+ PrimaryButtonText = "确定",
+ SecondaryButtonText = "取消"
+ }.ShowAsync();
+ if (show == ContentDialogResult.Primary)
+ {
+ }
+ else
+ {
+ return;
+ }
+ }
+ // 压缩zip
+ var v = wj.ZipExample(folderItem.Dri, folderItem.Name + ".rwmod");
+ if (v!=string.Empty)
+ {
+ ListMod.Remove(new DataObject(new FileInfo(filepath)));
+ ListMod.Insert(0,new DataObject(new FileInfo(v)));
+ }
+ }
+ }
}
}
diff --git a/RustTools/Views/HomePage.xaml.cs b/RustTools/Views/HomePage.xaml.cs
index a0085e4..b21e7d5 100644
--- a/RustTools/Views/HomePage.xaml.cs
+++ b/RustTools/Views/HomePage.xaml.cs
@@ -27,11 +27,15 @@ public sealed partial class HomePage : Page
Pictures.Add(item);
}
}
- ViewModel.random();
- ViewModel.Latest();
InitializeComponent();
ListA.ItemClick += ListAClick;
ListB.ItemClick += ListAClick;
+ //Ϊ˽ʡԵʱЩ
+ if (false)
+ {
+ ViewModel.random();
+ ViewModel.Latest();
+ }
}
private void Page_SizeChanged(object sender, SizeChangedEventArgs e)
diff --git a/RustTools/Views/ModulePage.xaml b/RustTools/Views/ModulePage.xaml
index db11e3a..e38c38d 100644
--- a/RustTools/Views/ModulePage.xaml
+++ b/RustTools/Views/ModulePage.xaml
@@ -16,10 +16,15 @@
Click="Button_Click_RwmodItem"
CornerRadius="9">
-
+
-
-
+
+
-