Dev Improvements #4
Reference in New Issue
Block a user
Delete Branch "dev"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
This pull request introduces several new features and improvements to the Omega Leo Helper Library, including enhancements to the game library, documentation, and project governance. The most significant changes are the addition of new game utilities, improved changelog tooling, and the establishment of contribution and conduct guidelines.
Game Library Enhancements:
ListExtensionswith aShuffle<T>extension method for lists using a customRandomNumberGenerator, improving utility for game development. (OmegaLeo.HelperLib.Game/Extensions/ListExtensions.cs)DelayedActionHandlerto manage and cancel delayed actions in games, providing a more robust way to handle time-based events. (OmegaLeo.HelperLib.Game/Handlers/DelayedActionHandler.cs)ISaveFileProviderinterface to abstract save file management, making it easier to customize save locations and file handling. (OmegaLeo.HelperLib.Game/Interfaces/ISaveFileProvider.cs)Changelog and Documentation Improvements:
NetFlow.DocumentationHelper.Libraryas a reference and package in the changelog project, and annotated changelog-related classes and methods with documentation attributes for better code documentation and tooling support. (OmegaLeo.HelperLib.Changelog/OmegaLeo.HelperLib.Changelog.csproj,OmegaLeo.HelperLib.Changelog/Attributes/ChangelogAttribute.cs,OmegaLeo.HelperLib.Changelog/Tools/ChangelogTool.cs) [1] [2] [3] [4]Project Governance:
CODE_OF_CONDUCT.mdto establish community standards and enforcement guidelines.CONTRIBUTING.mdto guide contributors on how to participate, report issues, suggest enhancements, and follow project styleguides.Build and Release Automation:
.github/workflows/nuget-publish.yml) to automate publishing and asset uploading for the game library NuGet package, streamlining releases.Pull request overview
This pull request introduces several development improvements to the Omega Leo Helper Library, including game library enhancements, documentation tooling improvements, and project governance additions. The main focus is on adding new game utilities (
ListExtensions,DelayedActionHandler,ISaveFileProvider), improving changelog tooling with documentation attributes, and establishing contribution/conduct guidelines.Key Changes
NetFlow.DocumentationHelper.Libraryto annotate changelog classes with documentation attributesReviewed changes
Copilot reviewed 56 out of 113 changed files in this pull request and generated 8 comments.
Show a summary per file
Files not reviewed (4)
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
@@ -0,0 +10,4 @@{private readonly Dictionary<string, ConsoleCommand> _commands = new Dictionary<string, ConsoleCommand>(StringComparer.OrdinalIgnoreCase);private readonly List<string> _history = new List<string>();private int _maxHistorySize = 100;Field '_maxHistorySize' can be 'readonly'.
@@ -0,0 +145,4 @@}else{current += c;String concatenation in loop: use 'StringBuilder'.
@@ -0,0 +26,4 @@var root = GetSolutionRoot();_libraryCache = new Dictionary<string, LibraryDocumentationViewModel>Write to static field from instance method, property, or constructor.
@@ -0,0 +59,4 @@public IActionResult Library(string id){if (string.IsNullOrEmpty(id) || !_libraryCache.ContainsKey(id))Inefficient use of 'ContainsKey' and indexer.
@@ -0,0 +248,4 @@$forms.each(function () {var info = validationInfo(this);if (info) {This use of variable 'info' always evaluates to true.
This foreach loop implicitly filters its target sequence - consider filtering the sequence explicitly using '.Where(...)'.
This foreach loop implicitly filters its target sequence - consider filtering the sequence explicitly using '.Where(...)'.
@@ -10,6 +10,7 @@<PackageReadmeFile>README.md</PackageReadmeFile><PackageProjectUrl>https://github.com/omegaleo/HelperLib</PackageProjectUrl><RepositoryUrl>https://github.com/omegaleo/HelperLib</RepositoryUrl><PackageLicenseUrl>https://github.com/omegaleo/HelperLib/blob/main/LICENSE</PackageLicenseUrl>The
PackageLicenseUrlproperty is deprecated in favor ofPackageLicenseExpressionorPackageLicenseFile. Consider using one of these alternatives instead.For example, if the project uses MIT license:
Or to reference a license file in the project:
@@ -10,6 +10,7 @@<PackageReadmeFile>README.md</PackageReadmeFile><PackageProjectUrl>https://github.com/omegaleo/HelperLib</PackageProjectUrl><RepositoryUrl>https://github.com/omegaleo/HelperLib</RepositoryUrl><PackageLicenseUrl>https://github.com/omegaleo/HelperLib/blob/main/LICENSE</PackageLicenseUrl>@copilot open a new pull request to apply changes based on this feedback