Conversation
Refactored the `Core` class to introduce `SavedGame` and `SavedGameCollection` for managing saved games. Added `LoadGames`, `SaveGames`, and `RemoveGame` methods, improving game lifecycle management. Updated `InstallGame` to handle `Game` objects and save state changes. Enhanced the `Game` class with a `FromTuple` method, improved error handling, and added offline mode checks. Improved `BaseSettingsService` to support file-based storage with `SaveToFileAsync` and `LoadFromFileAsync`. Updated `Set` and `Get` methods to handle file-based settings. Refined mod loader installers (`Fabric`, `Forge`, `Quilt`, `ModLoaderRouter`) with better error handling and offline support. Upgraded the solution to Visual Studio 18 and removed unused build configurations. Centralized settings keys in the new `SettingsKeys` class. Enhanced logging and exception handling across the codebase for better debugging and user notifications.
Replaced direct dependency on BaseSettingsService with the IBaseSettingsService interface across the codebase to improve flexibility, modularity, and testability. Updated the `Core` class constructor, `SettingsService` constructor, and dependency injection registration in `App.xaml.cs` to use the interface. Introduced a new `IBaseSettingsService` interface defining the contract for `BaseSettingsService`, including methods for storing and retrieving values and an `APINoMatch` event. Refactored `BaseSettingsService` to implement the new interface. Updated `using` directives to remove unused namespaces and add necessary ones. Updated the project file to target .NET 9.0 for desktop applications. Minor non-functional changes were made to the project file.
Member
Author
|
don't merge this yet. draft |
Refactored `Extensions.Localize` to improve logging and fallback behavior. Enhanced `GameSettings` with new properties and `[NotifyPropertyChangedFor]` attributes. Introduced `MinecraftSettingsUC` user control to encapsulate Minecraft-related settings, replacing inline UI in `GeneralPage`. Simplified `ArgumentsListView` by removing `ArgTemplate` and directly binding to `ObservableCollection<string>`. Improved dependency injection by registering `IBaseSettingsService` in `App.xaml.cs`. Upgraded `Uno.Sdk` to `6.2.39` in `global.json`. Removed legacy code and improved UI structure in `ArgumentsListView` and `MinecraftSettingsUC`. Enhanced logging and localization across the application.
Replaces string-based argument handling with a LaunchArg model and synchronizes external/internal collections in ArgumentsListView. Updates all localization markup extensions to use KeyName instead of Name. Refactors MinecraftSettingsUC to use ShowMainSettings and adds copy path functionality. Updates target frameworks to net9.0-desktop and net9.0-windows10.0.26100. Cleans up code and improves bindings and UI logic across settings and controls.
Introduced a new GamesPage for managing Minecraft instances, including UI, view model, and commands for game creation, installation, launching, and settings management. Enhanced mod loader support and improved user experience with modern UI elements, dynamic filtering, and robust error handling. Updated package versions and added new references. Improved account management with the new EAccount class, AccountService, and IAccountService interface. Enhanced dependency injection and navigation. Improved error handling in BaseSettingsService and removed legacy exception handlers. Added CountToVisibility converter and updated project files for new features.
Refactored `BaseSettingsService` for improved error handling and fallback mechanisms. Enhanced the "Add Game" wizard with a new multi-step `AddGameDialog` for better user experience, including dynamic navigation and validation logic. Updated `GamesPageViewModel` to improve initialization, filtering, and mod loader handling. Reorganized and cleaned up `GamesPage.xaml` and `GamesPage.xaml.cs` for better readability and maintainability. Introduced new UI elements like `StepToVisibilityConverter` and `SettingsDialog`. Removed legacy code, redundant comments, and unused imports. Fixed a bug in `GetModLoaderInstaller` to handle missing installers gracefully. Improved consistency in formatting, logging, and code style across the codebase.
Member
Author
|
this is kindof mostly done. I should merge and move to build UI. @Lamparter could you review this? (lol tbh I mostly vibe coded this) |
Refactored the Add Game Wizard to improve modularity, maintainability, and user experience. Introduced `AddGameWizardControl` as a reusable `UserControl` to encapsulate the wizard's UI and logic. Simplified `GamesPageViewModel` by consolidating button state logic and streamlining navigation commands. Updated `GamesPage.xaml` and `GamesPage.xaml.cs` to integrate the new control and remove legacy inline wizard code. Enhanced dialog state management to dynamically update button states based on the wizard's step and ViewModel properties. Removed redundant logic and event handlers, and relocated step-specific logic to the new control. Updated the project file to include `AddGameWizardControl`. These changes improve code clarity, reduce redundancy, and make the wizard easier to maintain and extend.
Signed-off-by: NoobNotFound <82730163+NoobNotFound@users.noreply.github.com>
Signed-off-by: NoobNotFound <82730163+NoobNotFound@users.noreply.github.com>
Signed-off-by: NoobNotFound <82730163+NoobNotFound@users.noreply.github.com>
Updated uno-check installation and execution to include logging and error handling. Signed-off-by: NoobNotFound <82730163+NoobNotFound@users.noreply.github.com>
Updated action.yml to streamline workload installation and improve comments. Signed-off-by: NoobNotFound <82730163+NoobNotFound@users.noreply.github.com>
Simplifies the install_dependencies action by removing .NET workload installation and unnecessary Snap dependencies for Linux, focusing only on required SDKs and GTK libraries. Updates the CI workflow to streamline matrix configuration, unify artifact naming, and ensure platform-specific build and packaging steps, including zipping release artifacts for easier distribution.
Signed-off-by: NoobNotFound <82730163+NoobNotFound@users.noreply.github.com>
Consolidated TargetFrameworks in Emerald.CoreX and Emerald projects to include both net9.0-windows10.0.26100 and net9.0-desktop. Enhanced the GitHub Actions install_dependencies step to run uno-check for target platform workloads, improving CI setup for Uno Platform projects.
Moved the window icon setting logic from App.xaml.cs to WindowManager.cs, ensuring the icon is set when initializing the window on Windows platforms.
…Valley/Emerald into noobnotfound/corexmain
Updated `Microsoft.Windows.CsWin32` package to version 0.3.248. Added `SetWindowIcon` method in `WindowManager` to streamline setting window icons using WinUI 3 APIs. Refactored `IntializeWindow` to remove redundant icon-setting logic. Updated `App.xaml.cs` to use the new `SetWindowIcon` method. Added necessary `Windows.Win32` namespaces and removed redundant `using` directives. Improved code organization and clarity by consolidating icon-related logic.
Replaces 'target-platform' with 'job-platform' in the install_dependencies action and improves uno-check invocation. Adds /p:ErrorOnDuplicatePublishOutputFiles=false to the Windows publish step in ci.yml to address NETSDK1152 errors.
The step to install libgtk-3-dev and libwebkit2gtk-4.0-dev has been removed from the install_dependencies GitHub Action. This streamlines the setup process and avoids unnecessary package installations.
Changed the default Windows SDK version to 19041 in the install_dependencies action and updated the ISO download URL in Install-WindowsSdkISO.ps1 to use a Microsoft redirect link for build 19041.
Added a conditional to skip the workload installation step on Windows runners or when the job platform is set to 'windows'. This prevents unnecessary installation attempts on unsupported platforms.
Updated the CI workflow to disable trimming and single-file publishing for all platforms to prevent startup crashes and incompatibilities, especially on Linux. Improved comments and clarified platform sections. Fixed the ZIP step to archive the entire output folder instead of its contents, ensuring correct packaging for all platforms.
Clarifies platform labels in the build matrix for Windows, macOS, and Linux jobs. Refactors PowerShell script to use an array for build arguments, ensuring correct argument passing. Updates comments for clarity and maintains correct zipping behavior for build artifacts.
Member
Author
|
I'm going to merge this. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Implementiation of CoreX. (not all of it)