Dev #14
@@ -12,3 +12,5 @@ riderModule.iml
|
||||
/OmegaLeo.HelperLib.Web/publish
|
||||
>>>>>>> Stashed changes
|
||||
/OmegaLeo.HelperLib.Web/OmegaLeo.HelperLib.Web.csproj.user
|
||||
|
||||
*.sh
|
||||
@@ -13,4 +13,8 @@
|
||||
<ProjectReference Include="..\OmegaLeo.HelperLib\OmegaLeo.HelperLib.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="System.Runtime.Loader" Version="4.3.0" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
||||
@@ -9,7 +9,6 @@
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\OmegaLeo.HelperLib.Changelog\OmegaLeo.HelperLib.Changelog.csproj" />
|
||||
<ProjectReference Include="..\OmegaLeo.HelperLib.Git\OmegaLeo.HelperLib.Git.csproj" />
|
||||
<ProjectReference Include="..\OmegaLeo.HelperLib\OmegaLeo.HelperLib.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
|
||||
@@ -1,130 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using OmegaLeo.HelperLib.Extensions;
|
||||
using LibGit2Sharp;
|
||||
using OmegaLeo.HelperLib.Git.Models;
|
||||
|
||||
namespace OmegaLeo.HelperLib.Git
|
||||
{
|
||||
public class GitClient
|
||||
{
|
||||
private Repository _repo;
|
||||
|
||||
public GitClient(string path)
|
||||
{
|
||||
if (path.IsNullOrEmpty())
|
||||
{
|
||||
path = AppDomain.CurrentDomain.BaseDirectory;
|
||||
}
|
||||
|
||||
_repo = new Repository(path);
|
||||
}
|
||||
|
||||
public void CheckoutBranch(string branchName)
|
||||
{
|
||||
var branch = _repo.Branches[branchName];
|
||||
|
||||
if (branch == null)
|
||||
{
|
||||
branch = _repo.CreateBranch(branchName);
|
||||
}
|
||||
|
||||
Commands.Checkout(_repo, branch);
|
||||
}
|
||||
|
||||
public bool HasChanges() => _repo.Diff.Compare<TreeChanges>().Count > 0;
|
||||
|
||||
public ChangeFolder GetChanges()
|
||||
{
|
||||
var folder = new ChangeFolder();
|
||||
|
||||
if (HasChanges())
|
||||
{
|
||||
var changes = _repo.Diff.Compare<TreeChanges>();
|
||||
|
||||
var allChanges = new List<TreeEntryChanges>();
|
||||
allChanges.AddRange(changes.Added);
|
||||
allChanges.AddRange(changes.Modified);
|
||||
allChanges.AddRange(changes.Deleted);
|
||||
|
||||
var uniqueFolderPaths = allChanges.Select(x => Path.GetDirectoryName(x.Path)).Distinct();
|
||||
|
||||
foreach (var path in uniqueFolderPaths)
|
||||
{
|
||||
if (path.IsNullOrEmpty()) continue;
|
||||
|
||||
if (path.Contains(Path.DirectorySeparatorChar))
|
||||
{
|
||||
var paths = path.Split(Path.DirectorySeparatorChar);
|
||||
|
||||
for (var i = 0; i < paths.Length; i++)
|
||||
{
|
||||
var p = paths[i];
|
||||
|
||||
if (folder.FolderName.Equals(p))
|
||||
{
|
||||
if (folder.ChangesInFolder.Any()) continue;
|
||||
|
||||
folder.ChangesInFolder =
|
||||
allChanges.Where(x => Path.GetDirectoryName(x.Path)!.Equals(p, StringComparison.OrdinalIgnoreCase));
|
||||
}
|
||||
else
|
||||
{
|
||||
var pathList = paths[0..(i+1)].ToList();
|
||||
var subFolder = folder.RecursiveGet(pathList);
|
||||
var fullPath = string.Join(Path.DirectorySeparatorChar, pathList);
|
||||
|
||||
if (!subFolder.ChangesInFolder.Any())
|
||||
{
|
||||
subFolder.ChangesInFolder = allChanges.Where(x =>
|
||||
Path.GetDirectoryName(x.Path)!.Equals(fullPath, StringComparison.OrdinalIgnoreCase));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
folder.FolderName = path;
|
||||
folder.ChangesInFolder =
|
||||
allChanges.Where(x => Path.GetDirectoryName(x.Path)!.Equals(path, StringComparison.OrdinalIgnoreCase));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return folder;
|
||||
}
|
||||
|
||||
public void Commit(string message, Signature author)
|
||||
{
|
||||
if (HasChanges())
|
||||
{
|
||||
var changes = _repo.Diff.Compare<TreeChanges>();
|
||||
var allChanges = new List<TreeEntryChanges>();
|
||||
allChanges.AddRange(changes.Added);
|
||||
allChanges.AddRange(changes.Modified);
|
||||
allChanges.AddRange(changes.Deleted);
|
||||
|
||||
var filePaths = allChanges.Select(x => x.Path).Where(x => x.IsNotNullOrEmpty());
|
||||
|
||||
Commands.Stage(_repo, filePaths);
|
||||
}
|
||||
|
||||
_repo.Commit(message, author, author);
|
||||
}
|
||||
|
||||
public void Push()
|
||||
{
|
||||
try {
|
||||
var remote = _repo.Network.Remotes["origin"];
|
||||
var options = new PushOptions();
|
||||
var pushRefSpec = @"refs/heads/master";
|
||||
_repo.Network.Push(remote, new string[] {pushRefSpec}, options);
|
||||
}
|
||||
catch (Exception e) {
|
||||
Console.WriteLine("Exception:RepoActions:PushChanges " + e.Message);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,56 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using LibGit2Sharp;
|
||||
|
||||
namespace OmegaLeo.HelperLib.Git.Models
|
||||
{
|
||||
public class ChangeFolder
|
||||
{
|
||||
public string FolderName { get; set; }
|
||||
public List<ChangeFolder> SubFolders { get; set; }
|
||||
public IEnumerable<TreeEntryChanges> ChangesInFolder { get; set; }
|
||||
|
||||
public ChangeFolder()
|
||||
{
|
||||
FolderName = "";
|
||||
SubFolders = new List<ChangeFolder>();
|
||||
ChangesInFolder = new List<TreeEntryChanges>();
|
||||
}
|
||||
|
||||
public ChangeFolder RecursiveGet(List<string> paths)
|
||||
{
|
||||
if (!paths.Any()) return null;
|
||||
|
||||
var tempPaths = paths;
|
||||
var pathToCheck = tempPaths.FirstOrDefault();
|
||||
|
||||
ChangeFolder folder = new ChangeFolder();
|
||||
|
||||
if (FolderName.Equals(pathToCheck, StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
folder = this;
|
||||
}
|
||||
else if (SubFolders.Any(x => x.FolderName.Equals(pathToCheck)))
|
||||
{
|
||||
folder = SubFolders.FirstOrDefault(x => x.FolderName.Equals(pathToCheck))!;
|
||||
}
|
||||
else
|
||||
{
|
||||
folder.FolderName = pathToCheck;
|
||||
SubFolders.Add(folder);
|
||||
}
|
||||
|
||||
tempPaths.RemoveAt(0);
|
||||
|
||||
if (tempPaths.Any())
|
||||
{
|
||||
return folder.RecursiveGet(tempPaths);
|
||||
}
|
||||
else
|
||||
{
|
||||
return folder;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,22 +0,0 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netstandard2.1</TargetFramework>
|
||||
<Nullable>enable</Nullable>
|
||||
<RootNamespace>OmegaLeo.HelperLib.Git</RootNamespace>
|
||||
<Version>0.0.2</Version>
|
||||
<Title>Omega Leo's Helper Library - LibGit2Sharp Implementation</Title>
|
||||
<Authors>Nuno "Omega Leo" Diogo</Authors>
|
||||
<PackageProjectUrl>https://github.com/omegaleo/HelperLib</PackageProjectUrl>
|
||||
<RepositoryUrl>https://github.com/omegaleo/HelperLib</RepositoryUrl>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="LibGit2Sharp" Version="0.30.0"/>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\OmegaLeo.HelperLib\OmegaLeo.HelperLib.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
@@ -9,7 +9,6 @@
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\OmegaLeo.HelperLib.Changelog\OmegaLeo.HelperLib.Changelog.csproj" />
|
||||
<ProjectReference Include="..\OmegaLeo.HelperLib.Game\OmegaLeo.HelperLib.Game.csproj" />
|
||||
<ProjectReference Include="..\OmegaLeo.HelperLib.Git\OmegaLeo.HelperLib.Git.csproj" />
|
||||
<ProjectReference Include="..\OmegaLeo.HelperLib\OmegaLeo.HelperLib.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
|
||||
+2
-12
@@ -2,10 +2,6 @@
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OmegaLeo.HelperLib", "OmegaLeo.HelperLib\OmegaLeo.HelperLib.csproj", "{A7256931-5D66-46FA-BA50-22B2FA4CD9E9}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OmegaLeo.HelperLib.Git", "OmegaLeo.HelperLib.Git\OmegaLeo.HelperLib.Git.csproj", "{A9579FFB-9A05-4EBF-B298-513C48FB0F91}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OmegaLeo.HelperLib.ConsoleApp", "OmegaLeo.HelperLib.ConsoleApp\OmegaLeo.HelperLib.ConsoleApp.csproj", "{3B77B177-FD47-470A-B0EF-01EF8B30CE09}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OmegaLeo.HelperLib.Changelog", "OmegaLeo.HelperLib.Changelog\OmegaLeo.HelperLib.Changelog.csproj", "{378D8125-66B5-42B8-9881-33F951E5E04A}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OmegaLeo.HelperLib.ChangelogHandler", "OmegaLeo.HelperLib.ChangelogHandler\OmegaLeo.HelperLib.ChangelogHandler.csproj", "{359536F7-02DE-43E9-A383-D83853227B0F}"
|
||||
@@ -20,6 +16,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "SolutionFiles", "SolutionFi
|
||||
CODE_OF_CONDUCT.md = CODE_OF_CONDUCT.md
|
||||
CONTRIBUTING.md = CONTRIBUTING.md
|
||||
LICENSE = LICENSE
|
||||
.gitignore = .gitignore
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "actions", "actions", "{750F2E9A-2703-4732-98D7-29C658368E48}"
|
||||
@@ -28,6 +25,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "actions", "actions", "{750F
|
||||
.github\workflows\dotnet.yml = .github\workflows\dotnet.yml
|
||||
.github\workflows\nuget-publish.yml = .github\workflows\nuget-publish.yml
|
||||
.github\workflows\github-publish.yml = .github\workflows\github-publish.yml
|
||||
.github\workflows\jetbrains-publish.yml = .github\workflows\jetbrains-publish.yml
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OmegaLeo.HelperLib.Documentation", "OmegaLeo.HelperLib.Documentation\OmegaLeo.HelperLib.Documentation.csproj", "{AE69480D-5956-46CB-9028-E4723735E37E}"
|
||||
@@ -44,14 +42,6 @@ Global
|
||||
{A7256931-5D66-46FA-BA50-22B2FA4CD9E9}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{A7256931-5D66-46FA-BA50-22B2FA4CD9E9}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{A7256931-5D66-46FA-BA50-22B2FA4CD9E9}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{A9579FFB-9A05-4EBF-B298-513C48FB0F91}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{A9579FFB-9A05-4EBF-B298-513C48FB0F91}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{A9579FFB-9A05-4EBF-B298-513C48FB0F91}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{A9579FFB-9A05-4EBF-B298-513C48FB0F91}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{3B77B177-FD47-470A-B0EF-01EF8B30CE09}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{3B77B177-FD47-470A-B0EF-01EF8B30CE09}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{3B77B177-FD47-470A-B0EF-01EF8B30CE09}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{3B77B177-FD47-470A-B0EF-01EF8B30CE09}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{378D8125-66B5-42B8-9881-33F951E5E04A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{378D8125-66B5-42B8-9881-33F951E5E04A}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{378D8125-66B5-42B8-9881-33F951E5E04A}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
|
||||
@@ -8,4 +8,6 @@
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ASafeFileHandle_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003F_002E_002E_003F_002E_002E_003Fhome_003Fomegaleo_003F_002Econfig_003FJetBrains_003FRider2024_002E2_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fc21672d0d37542808f219d7d1f059dc1b2e000_003Faf_003Fbed3a9b4_003FSafeFileHandle_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AThrowHelper_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003F_002E_002E_003F_002E_002E_003Fhome_003Fomegaleo_003F_002Econfig_003FJetBrains_003FRider2024_002E2_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fc61cc76f205b4535a5b4f40700c07900b2d200_003Fe5_003F6b3ec67e_003FThrowHelper_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ATreeChanges_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003F_002E_002E_003F_002E_002E_003Fhome_003Fomegaleo_003F_002Econfig_003FJetBrains_003FRider2024_002E2_003Fresharper_002Dhost_003FSourcesCache_003F7478b0ce6362feb345e793626f5c504bd9d7ffeb748226521658c85fc4e29_003FTreeChanges_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ATreeEntryChanges_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003F_002E_002E_003F_002E_002E_003Fhome_003Fomegaleo_003F_002Econfig_003FJetBrains_003FRider2024_002E2_003Fresharper_002Dhost_003FSourcesCache_003F2b7912eaeadb1d9a91a3f891a244b5cd4a856d9dde42694e941ee6a2994_003FTreeEntryChanges_002Ecs/@EntryIndexedValue">ForceIncluded</s:String></wpf:ResourceDictionary>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ATreeEntryChanges_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003F_002E_002E_003F_002E_002E_003F_002E_002E_003Fhome_003Fomegaleo_003F_002Econfig_003FJetBrains_003FRider2024_002E2_003Fresharper_002Dhost_003FSourcesCache_003F2b7912eaeadb1d9a91a3f891a244b5cd4a856d9dde42694e941ee6a2994_003FTreeEntryChanges_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:Boolean x:Key="/Default/Environment/Hierarchy/Build/SolBuilderDuo/RunBuildOnSolutionLoaded/@EntryValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/Environment/Hierarchy/Build/SolutionBuilderNext/ShouldRestoreNugetPackages/@EntryValue">True</s:Boolean></wpf:ResourceDictionary>
|
||||
@@ -1,5 +1,8 @@
|
||||
# Omega Leo's Helper Library
|
||||
|
||||
[](https://github.com/omegaleo/HelperLib/actions/workflows/nuget-publish.yml)
|
||||
[](https://github.com/omegaleo/HelperLib/actions/workflows/jetbrains-publish.yml)
|
||||
|
||||
Lightweight utility library for C\# projects and game development helpers.
|
||||
|
||||
## Table of contents
|
||||
@@ -22,12 +25,15 @@ Lightweight utility library for C\# projects and game development helpers.
|
||||
- Helpers that favor clarity and testability
|
||||
- Game development specific helpers in the `OmegaLeo.HelperLib.Game` package
|
||||
- Changelog generation utilities in the `OmegaLeo.HelperLib.Changelog` package
|
||||
- **JetBrains Rider plugin** for displaying custom documentation attributes in Quick Documentation (Ctrl+Q)
|
||||
- Lightweight and easy to integrate into existing projects
|
||||
- Well-documented and maintained
|
||||
- Open source under the AGPL v3 License
|
||||
|
||||
## Install
|
||||
|
||||
### NuGet Packages
|
||||
|
||||
Add the library to your project via NuGet:
|
||||
|
||||
```bash
|
||||
@@ -37,6 +43,18 @@ dotnet add package OmegaLeo.HelperLib.Changelog
|
||||
dotnet add package OmegaLeo.HelperLib.Documentation
|
||||
```
|
||||
|
||||
### JetBrains Rider Plugin
|
||||
|
||||
For enhanced IDE support with custom documentation attributes:
|
||||
|
||||
1. Open Rider
|
||||
2. Go to **Settings** → **Plugins**
|
||||
3. Search for "HelperLib Documentation Provider"
|
||||
4. Click **Install**
|
||||
5. Restart Rider
|
||||
|
||||
The plugin displays `[Documentation]` attributes in Quick Documentation (Ctrl+Q). [Learn more →](OmegaLeo.HelperLib.Jetbrains/README.md)
|
||||
|
||||
## Documentation
|
||||
The documentation for this project can be found at [https://library.omegaleo.dev](https://library.omegaleo.dev).
|
||||
This documentation is automatically generated from the code using the [OmegaLeo.HelperLib.Documentation package](https://www.nuget.org/packages/OmegaLeo.HelperLib.Documentation).
|
||||
|
||||
@@ -0,0 +1,225 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Changelog Library - OmegaLeo Helper Libraries</title>
|
||||
<link rel="stylesheet" href="../../lib/bootstrap/dist/css/bootstrap.min.css" />
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.10.0/font/bootstrap-icons.css">
|
||||
<link rel="stylesheet" href="../../css/site.css%3Fv=AK2YraxbvzgrpO6A1NqAHflCP7fbweSjdyWpd3ERsLE.css" />
|
||||
</head>
|
||||
<body>
|
||||
<header b-pqzonzw7gm>
|
||||
<nav b-pqzonzw7gm class="navbar navbar-expand-sm navbar-dark bg-dark border-bottom box-shadow mb-3">
|
||||
<div b-pqzonzw7gm class="container-fluid">
|
||||
<a class="navbar-brand" href="../../index.html">
|
||||
OmegaLeo Helper Libraries
|
||||
</a>
|
||||
<button b-pqzonzw7gm class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target=".navbar-collapse">
|
||||
<span b-pqzonzw7gm class="navbar-toggler-icon"></span>
|
||||
</button>
|
||||
<div b-pqzonzw7gm class="navbar-collapse collapse d-sm-inline-flex justify-content-between">
|
||||
<ul b-pqzonzw7gm class="navbar-nav flex-grow-1">
|
||||
<li b-pqzonzw7gm class="nav-item">
|
||||
<a class="nav-link" href="../../index.html">Home</a>
|
||||
</li>
|
||||
<li b-pqzonzw7gm class="nav-item">
|
||||
<a class="nav-link" href="core.html">Core</a>
|
||||
</li>
|
||||
<li b-pqzonzw7gm class="nav-item">
|
||||
<a class="nav-link" href="changelog.html">Changelog</a>
|
||||
</li>
|
||||
<li b-pqzonzw7gm class="nav-item">
|
||||
<a class="nav-link" href="game.html">Game Dev</a>
|
||||
</li>
|
||||
<li b-pqzonzw7gm class="nav-item">
|
||||
<a class="nav-link" href="documentation.html">Documentation</a>
|
||||
</li>
|
||||
<li b-pqzonzw7gm class="nav-item">
|
||||
<a class="nav-link" href="shared.html">Shared Components</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<ul b-pqzonzw7gm class="navbar-nav ms-auto">
|
||||
<li b-pqzonzw7gm class="nav-item">
|
||||
<a b-pqzonzw7gm class="nav-link" href="https://github.com/omegaleo/HelperLib" target="_blank" rel="noopener noreferrer" aria-label="GitHub repository">
|
||||
<i b-pqzonzw7gm class="bi bi-github" style="font-size:1.25rem;"></i> View on Github
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
<main b-pqzonzw7gm role="main" class="pb-3">
|
||||
|
||||
<div class="container-fluid mt-4">
|
||||
<nav aria-label="breadcrumb">
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item"><a href="../../index.html">Home</a></li>
|
||||
<li class="breadcrumb-item active">Changelog Library</li>
|
||||
</ol>
|
||||
</nav>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-3">
|
||||
<div class="sticky-top" style="top: 20px;">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<h5>Changelog Library</h5>
|
||||
</div>
|
||||
<div class="card-body p-0">
|
||||
<div class="list-group list-group-flush">
|
||||
<a class="list-group-item list-group-item-action" href="changelog.html#overview">
|
||||
<i class="bi bi-info-circle me-2"></i>Overview
|
||||
</a>
|
||||
<a class="list-group-item list-group-item-action" href="changelog.html#namespace-OmegaLeo-HelperLib-Changelog">
|
||||
<i class="bi bi-folder me-2"></i>OmegaLeo.HelperLib.Changelog
|
||||
</a>
|
||||
<a class="list-group-item list-group-item-action" href="changelog.html#changelog">
|
||||
<i class="bi bi-clock-history me-2"></i>Changelog
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-9">
|
||||
<div id="overview" class="mb-5">
|
||||
<h2>Changelog Library</h2>
|
||||
<p class="lead">Tools for managing and generating changelogs</p>
|
||||
<hr />
|
||||
</div>
|
||||
|
||||
<div id="namespace-OmegaLeo-HelperLib-Changelog" class="mb-5">
|
||||
<h3>OmegaLeo.HelperLib.Changelog</h3>
|
||||
|
||||
<div class="card mb-3">
|
||||
<div class="card-header">
|
||||
<h4 class="mb-0">ChangelogHelper</h4>
|
||||
<small class="text-muted">OmegaLeo.HelperLib.Changelog</small>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="table-responsive">
|
||||
<table class="table table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Member</th>
|
||||
<th>Documentation</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>ChangelogHelper</code></td>
|
||||
<td><p>Helper class to generate changelog markdown from ChangelogAttributes in the provided Assemblies.</p>
|
||||
<br/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>GetChangelogMarkdown</code></td>
|
||||
<td><p>Generates a markdown formatted changelog from the changelog attributes in the provided assemblies.</p>
|
||||
<br/>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card mb-3">
|
||||
<div class="card-header">
|
||||
<h4 class="mb-0">ChangelogTool</h4>
|
||||
<small class="text-muted">OmegaLeo.HelperLib.Changelog</small>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="table-responsive">
|
||||
<table class="table table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Member</th>
|
||||
<th>Documentation</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>ChangelogTool</code></td>
|
||||
<td><p>Provides methods to extract changelog information from assembly attributes.</p>
|
||||
<br/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>ChangelogTool.ExtractChangelog</code></td>
|
||||
<td><p>Extracts changelog entries from the specified assembly.</p>
|
||||
<br/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>ChangelogTool.GetMarkdown</code></td>
|
||||
<td><p>Generates a markdown formatted changelog from the assembly's changelog attributes.</p>
|
||||
<br/>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="changelog" class="mb-5">
|
||||
<h3>Changelog</h3>
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<h2>Version 1.2.0</h2>
|
||||
<p><strong>OmegaLeo.HelperLib.Changelog.Helpers</strong></p>
|
||||
<ul>
|
||||
<li><strong>ChangelogHelper</strong>:
|
||||
<ul>
|
||||
<li>Created ChangelogHelper to generate markdown from changelog attributes.</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<h2>Version 1.0.0</h2>
|
||||
<p><strong>OmegaLeo.HelperLib.Changelog.Tools</strong></p>
|
||||
<ul>
|
||||
<li><strong>ChangelogTool</strong>:
|
||||
<ul>
|
||||
<li>Created the class ChangelogTool to extract changelogs via attributes</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<style>
|
||||
.sticky-top {
|
||||
max-height: calc(100vh - 40px);
|
||||
overflow-y: auto;
|
||||
}
|
||||
|
||||
code {
|
||||
background-color: #f8f9fa;
|
||||
padding: 2px 6px;
|
||||
border-radius: 3px;
|
||||
font-size: 0.9em;
|
||||
}
|
||||
|
||||
.table th {
|
||||
background-color: #f8f9fa;
|
||||
}
|
||||
</style>
|
||||
|
||||
</main>
|
||||
|
||||
<script src="../../lib/jquery/dist/jquery.min.js"></script>
|
||||
<script src="../../lib/bootstrap/dist/js/bootstrap.bundle.min.js"></script>
|
||||
<script src="../../js/site.js%3Fv=y_Ngd8W21UpuCUhEqGbUKDEqFnNfTjAfb24GhJJGUyM"></script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,924 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Core Library - OmegaLeo Helper Libraries</title>
|
||||
<link rel="stylesheet" href="../../lib/bootstrap/dist/css/bootstrap.min.css" />
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.10.0/font/bootstrap-icons.css">
|
||||
<link rel="stylesheet" href="../../css/site.css%3Fv=AK2YraxbvzgrpO6A1NqAHflCP7fbweSjdyWpd3ERsLE.css" />
|
||||
</head>
|
||||
<body>
|
||||
<header b-pqzonzw7gm>
|
||||
<nav b-pqzonzw7gm class="navbar navbar-expand-sm navbar-dark bg-dark border-bottom box-shadow mb-3">
|
||||
<div b-pqzonzw7gm class="container-fluid">
|
||||
<a class="navbar-brand" href="../../index.html">
|
||||
OmegaLeo Helper Libraries
|
||||
</a>
|
||||
<button b-pqzonzw7gm class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target=".navbar-collapse">
|
||||
<span b-pqzonzw7gm class="navbar-toggler-icon"></span>
|
||||
</button>
|
||||
<div b-pqzonzw7gm class="navbar-collapse collapse d-sm-inline-flex justify-content-between">
|
||||
<ul b-pqzonzw7gm class="navbar-nav flex-grow-1">
|
||||
<li b-pqzonzw7gm class="nav-item">
|
||||
<a class="nav-link" href="../../index.html">Home</a>
|
||||
</li>
|
||||
<li b-pqzonzw7gm class="nav-item">
|
||||
<a class="nav-link" href="core.html">Core</a>
|
||||
</li>
|
||||
<li b-pqzonzw7gm class="nav-item">
|
||||
<a class="nav-link" href="changelog.html">Changelog</a>
|
||||
</li>
|
||||
<li b-pqzonzw7gm class="nav-item">
|
||||
<a class="nav-link" href="game.html">Game Dev</a>
|
||||
</li>
|
||||
<li b-pqzonzw7gm class="nav-item">
|
||||
<a class="nav-link" href="documentation.html">Documentation</a>
|
||||
</li>
|
||||
<li b-pqzonzw7gm class="nav-item">
|
||||
<a class="nav-link" href="shared.html">Shared Components</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<ul b-pqzonzw7gm class="navbar-nav ms-auto">
|
||||
<li b-pqzonzw7gm class="nav-item">
|
||||
<a b-pqzonzw7gm class="nav-link" href="https://github.com/omegaleo/HelperLib" target="_blank" rel="noopener noreferrer" aria-label="GitHub repository">
|
||||
<i b-pqzonzw7gm class="bi bi-github" style="font-size:1.25rem;"></i> View on Github
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
<main b-pqzonzw7gm role="main" class="pb-3">
|
||||
|
||||
<div class="container-fluid mt-4">
|
||||
<nav aria-label="breadcrumb">
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item"><a href="../../index.html">Home</a></li>
|
||||
<li class="breadcrumb-item active">Core Library</li>
|
||||
</ol>
|
||||
</nav>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-3">
|
||||
<div class="sticky-top" style="top: 20px;">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<h5>Core Library</h5>
|
||||
</div>
|
||||
<div class="card-body p-0">
|
||||
<div class="list-group list-group-flush">
|
||||
<a class="list-group-item list-group-item-action" href="core.html#overview">
|
||||
<i class="bi bi-info-circle me-2"></i>Overview
|
||||
</a>
|
||||
<a class="list-group-item list-group-item-action" href="core.html#namespace-OmegaLeo-HelperLib">
|
||||
<i class="bi bi-folder me-2"></i>OmegaLeo.HelperLib
|
||||
</a>
|
||||
<a class="list-group-item list-group-item-action" href="core.html#changelog">
|
||||
<i class="bi bi-clock-history me-2"></i>Changelog
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-9">
|
||||
<div id="overview" class="mb-5">
|
||||
<h2>Core Library</h2>
|
||||
<p class="lead">Core utilities and helper functions for general C# development</p>
|
||||
<hr />
|
||||
</div>
|
||||
|
||||
<div id="namespace-OmegaLeo-HelperLib" class="mb-5">
|
||||
<h3>OmegaLeo.HelperLib</h3>
|
||||
|
||||
<div class="card mb-3">
|
||||
<div class="card-header">
|
||||
<h4 class="mb-0">ArrayExtensions</h4>
|
||||
<small class="text-muted">OmegaLeo.HelperLib</small>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="table-responsive">
|
||||
<table class="table table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Member</th>
|
||||
<th>Documentation</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>Array Extensions</code></td>
|
||||
<td><p>Set of extension methods to help with Arrays.</p>
|
||||
<br/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Next</code></td>
|
||||
<td><p>Method to obtain the next object in the array by passing the current index.
|
||||
Note: Idea obtained from TaroDev's video on things to do in Unity - https://youtu.be/Ic5ux-tpkCE?t=302</p>
|
||||
<br/>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card mb-3">
|
||||
<div class="card-header">
|
||||
<h4 class="mb-0">BenchmarkUtility</h4>
|
||||
<small class="text-muted">OmegaLeo.HelperLib</small>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="table-responsive">
|
||||
<table class="table table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Member</th>
|
||||
<th>Documentation</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>BenchmarkUtility</code></td>
|
||||
<td><p>Utility class for benchmarking code execution time.</p>
|
||||
<br/>
|
||||
<strong>Example:</strong><br/>
|
||||
<div class="example-code mb-2">
|
||||
<div style="color:#DADADA;background-color:#1E1E1E;"><pre>
|
||||
BenchmarkUtility.Start(<span style="color:#D69D85;">"MyBenchmark"</span>);
|
||||
<span style="color:#57A64A;">// Code to benchmark</span>
|
||||
BenchmarkUtility.Stop(<span style="color:#D69D85;">"MyBenchmark"</span>);
|
||||
<span style="color:#569CD6;">var</span> results = BenchmarkUtility.GetResults(<span style="color:#D69D85;">"MyBenchmark"</span>);
|
||||
</pre></div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Record</code></td>
|
||||
<td><p>Records the execution time of the provided action and returns the elapsed time in milliseconds.</p>
|
||||
<br/>
|
||||
<strong>Example:</strong><br/>
|
||||
<div class="example-code mb-2">
|
||||
<div style="color:#DADADA;background-color:#1E1E1E;"><pre>
|
||||
<span style="color:#569CD6;">var</span> time = BenchmarkUtility.Record(() =>
|
||||
{
|
||||
<span style="color:#57A64A;">// Code to benchmark</span>
|
||||
});
|
||||
|
||||
Console.WriteLine($<span style="color:#D69D85;">"Elapsed time: {time} ms"</span>);
|
||||
</pre></div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>RecordAndSaveToResults</code></td>
|
||||
<td><p>Records the execution time of the provided action, saves it under the given key, and returns the elapsed time in milliseconds.</p>
|
||||
<br/>
|
||||
<strong>Example:</strong><br/>
|
||||
<div class="example-code mb-2">
|
||||
<div style="color:#DADADA;background-color:#1E1E1E;"><pre>
|
||||
<span style="color:#569CD6;">var</span> time = BenchmarkUtility.RecordAndSaveToResults(<span style="color:#D69D85;">"MyBenchmark"</span>, () =>
|
||||
{
|
||||
<span style="color:#57A64A;">// Code to benchmark</span>
|
||||
});
|
||||
|
||||
Console.WriteLine($<span style="color:#D69D85;">"Elapsed time: {time} ms"</span>);
|
||||
|
||||
<span style="color:#569CD6;">var</span> results = BenchmarkUtility.GetResults(<span style="color:#D69D85;">"MyBenchmark"</span>);
|
||||
|
||||
<span style="color:#569CD6;">var</span> averageTime = results.Average();
|
||||
Console.WriteLine($<span style="color:#D69D85;">"Average time: {averageTime} ms"</span>);
|
||||
</pre></div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Start</code></td>
|
||||
<td><p>Starts or restarts the stopwatch for the given key.</p>
|
||||
<br/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Stop</code></td>
|
||||
<td><p>Stops the stopwatch for the given key and records the elapsed time.</p>
|
||||
<br/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>GetResults</code></td>
|
||||
<td><p>Retrieves the list of recorded times for the given key.</p>
|
||||
<br/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>ClearResults</code></td>
|
||||
<td><p>Clears all recorded benchmark results.</p>
|
||||
<br/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>GetAllResults</code></td>
|
||||
<td><p>Retrieves all recorded benchmark results.</p>
|
||||
<br/>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card mb-3">
|
||||
<div class="card-header">
|
||||
<h4 class="mb-0">FloatExtensions</h4>
|
||||
<small class="text-muted">OmegaLeo.HelperLib</small>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="table-responsive">
|
||||
<table class="table table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Member</th>
|
||||
<th>Documentation</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>FloatExtensions</code></td>
|
||||
<td><p>Provides extension methods for the float data type.</p>
|
||||
<br/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Round</code></td>
|
||||
<td><p>Rounds a float value to the specified number of decimal places.</p>
|
||||
<br/>
|
||||
<strong>Example:</strong><br/>
|
||||
<div class="example-code mb-2">
|
||||
<div style="color:#DADADA;background-color:#1E1E1E;"><pre>
|
||||
<span style="color:#569CD6;">var</span> originalValue = <span style="color:#B5CEA8;">3</span>.14159f;
|
||||
<span style="color:#569CD6;">var</span> roundedValue = originalValue.Round(<span style="color:#B5CEA8;">2</span>); <span style="color:#57A64A;">// roundedValue will be 3.14</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>RoundToInt</code></td>
|
||||
<td><p>Rounds a float value to the nearest integer and returns it as an int.</p>
|
||||
<br/>
|
||||
<strong>Example:</strong><br/>
|
||||
<div class="example-code mb-2">
|
||||
<div style="color:#DADADA;background-color:#1E1E1E;"><pre>
|
||||
<span style="color:#569CD6;">var</span> originalValue = <span style="color:#B5CEA8;">3</span>.14159f;
|
||||
<span style="color:#569CD6;">var</span> roundedValue = originalValue.RoundToInt(); <span style="color:#57A64A;">// roundedValue will be 3</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card mb-3">
|
||||
<div class="card-header">
|
||||
<h4 class="mb-0">IListExtensions</h4>
|
||||
<small class="text-muted">OmegaLeo.HelperLib</small>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="table-responsive">
|
||||
<table class="table table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Member</th>
|
||||
<th>Documentation</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>IListExtensions</code></td>
|
||||
<td><p>Extension methods for IList<T> to provide additional functionalities such as swapping, replacing, random selection, and shuffling.</p>
|
||||
<br/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Swap</code></td>
|
||||
<td><p>Swaps the elements at the specified indices in the list.</p>
|
||||
<br/>
|
||||
<strong>Example:</strong><br/>
|
||||
<div class="example-code mb-2">
|
||||
<div style="color:#DADADA;background-color:#1E1E1E;"><pre>
|
||||
<span style="color:#569CD6;">var</span> myList = <span style="color:#569CD6;">new</span> List<<span style="color:#569CD6;">int</span>> { <span style="color:#B5CEA8;">1</span>, <span style="color:#B5CEA8;">2</span>, <span style="color:#B5CEA8;">3</span>, <span style="color:#B5CEA8;">4</span> };
|
||||
myList.Swap(<span style="color:#B5CEA8;">0</span>, <span style="color:#B5CEA8;">2</span>); <span style="color:#57A64A;">// myList is now { 3, 2, 1, 4 }</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Swap</code></td>
|
||||
<td><p>Swaps the elements at the specified indices in the list.</p>
|
||||
<br/>
|
||||
<strong>Example:</strong><br/>
|
||||
<div class="example-code mb-2">
|
||||
<div style="color:#DADADA;background-color:#1E1E1E;"><pre>
|
||||
<span style="color:#569CD6;">var</span> myList = <span style="color:#569CD6;">new</span> List<<span style="color:#569CD6;">int</span>> { <span style="color:#B5CEA8;">1</span>, <span style="color:#B5CEA8;">2</span>, <span style="color:#B5CEA8;">3</span>, <span style="color:#B5CEA8;">4</span> };
|
||||
myList.Swap(<span style="color:#B5CEA8;">0</span>, <span style="color:#B5CEA8;">2</span>); <span style="color:#57A64A;">// myList is now { 3, 2, 1, 4 }</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Replace</code></td>
|
||||
<td><p>Replaces the first occurrence of a specified value in the list with a new value.</p>
|
||||
<br/>
|
||||
<strong>Example:</strong><br/>
|
||||
<div class="example-code mb-2">
|
||||
<div style="color:#DADADA;background-color:#1E1E1E;"><pre>
|
||||
<span style="color:#569CD6;">var</span> myList = <span style="color:#569CD6;">new</span> List<<span style="color:#569CD6;">int</span>> { <span style="color:#B5CEA8;">1</span>, <span style="color:#B5CEA8;">2</span>, <span style="color:#B5CEA8;">3</span>, <span style="color:#B5CEA8;">4</span> };
|
||||
myList.Replace(<span style="color:#B5CEA8;">2</span>, <span style="color:#B5CEA8;">5</span>); <span style="color:#57A64A;">// myList is now { 1, 5, 3, 4 }</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Random</code></td>
|
||||
<td><p>Selects a random element from the list.</p>
|
||||
<br/>
|
||||
<strong>Example:</strong><br/>
|
||||
<div class="example-code mb-2">
|
||||
<div style="color:#DADADA;background-color:#1E1E1E;"><pre>
|
||||
<span style="color:#569CD6;">var</span> myList = <span style="color:#569CD6;">new</span> List<<span style="color:#569CD6;">int</span>> { <span style="color:#B5CEA8;">1</span>, <span style="color:#B5CEA8;">2</span>, <span style="color:#B5CEA8;">3</span>, <span style="color:#B5CEA8;">4</span> };
|
||||
<span style="color:#569CD6;">var</span> randomElement = myList.Random(); <span style="color:#57A64A;">// randomElement could be any of 1, 2, 3, or 4</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Random</code></td>
|
||||
<td><p>Selects a specified number of unique random elements from the list.</p>
|
||||
<br/>
|
||||
<strong>Example:</strong><br/>
|
||||
<div class="example-code mb-2">
|
||||
<div style="color:#DADADA;background-color:#1E1E1E;"><pre>
|
||||
<span style="color:#569CD6;">var</span> myList = <span style="color:#569CD6;">new</span> List<<span style="color:#569CD6;">int</span>> { <span style="color:#B5CEA8;">1</span>, <span style="color:#B5CEA8;">2</span>, <span style="color:#B5CEA8;">3</span>, <span style="color:#B5CEA8;">4</span> };
|
||||
<span style="color:#569CD6;">var</span> randomElements = myList.Random(<span style="color:#B5CEA8;">2</span>); <span style="color:#57A64A;">// randomElements could be any two of 1, 2, 3, or 4</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Next<T></code></td>
|
||||
<td><p>Method to obtain the next object in the list by passing the current index.</p>
|
||||
<br/>
|
||||
<strong>Example:</strong><br/>
|
||||
<div class="example-code mb-2">
|
||||
<div style="color:#DADADA;background-color:#1E1E1E;"><pre>
|
||||
<span style="color:#569CD6;">var</span> myList = <span style="color:#569CD6;">new</span> List<<span style="color:#569CD6;">int</span>> { <span style="color:#B5CEA8;">1</span>, <span style="color:#B5CEA8;">2</span>, <span style="color:#B5CEA8;">3</span>,<span style="color:#B5CEA8;">4</span> };
|
||||
<span style="color:#569CD6;">var</span> currentIndex = <span style="color:#B5CEA8;">0</span>;
|
||||
<span style="color:#569CD6;">var</span> nextItem = myList.Next(<span style="color:#569CD6;">ref</span> currentIndex); <span style="color:#57A64A;">// nextItem will be 1, currentIndex will be 1</span>
|
||||
<span style="color:#569CD6;">var</span> nextItem2 = myList.Next(<span style="color:#569CD6;">ref</span> currentIndex); <span style="color:#57A64A;">// nextItem2 will be 2, currentIndex will be 2</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Shuffle<T></code></td>
|
||||
<td><p>Shuffles the elements of the list in place using a cryptographic random number generator.</p>
|
||||
<p>Code obtained from https://stackoverflow.com/a/1262619</p>
|
||||
<br/>
|
||||
<strong>Example:</strong><br/>
|
||||
<div class="example-code mb-2">
|
||||
<div style="color:#DADADA;background-color:#1E1E1E;"><pre>
|
||||
<span style="color:#569CD6;">var</span> myList = <span style="color:#569CD6;">new</span> List<<span style="color:#569CD6;">int</span>> { <span style="color:#B5CEA8;">1</span>, <span style="color:#B5CEA8;">2</span>, <span style="color:#B5CEA8;">3</span>, <span style="color:#B5CEA8;">4</span> };
|
||||
myList.Shuffle(); <span style="color:#57A64A;">// myList could now be { 3, 1, 4, 2 } (example output)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card mb-3">
|
||||
<div class="card-header">
|
||||
<h4 class="mb-0">InstancedObject`1</h4>
|
||||
<small class="text-muted">OmegaLeo.HelperLib</small>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="table-responsive">
|
||||
<table class="table table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Member</th>
|
||||
<th>Documentation</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>InstancedObject<T> Class</code></td>
|
||||
<td><p>A generic base class that ensures only one instance of a derived class exists at any time.</p>
|
||||
<br/>
|
||||
<strong>Example:</strong><br/>
|
||||
<div class="example-code mb-2">
|
||||
<div style="color:#DADADA;background-color:#1E1E1E;"><pre>
|
||||
<span style="color:#569CD6;">public</span> <span style="color:#569CD6;">class</span> MySingleton : InstancedObject<MySingleton>
|
||||
{
|
||||
<span style="color:#57A64A;">// Your class implementation here</span>
|
||||
}
|
||||
</pre></div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card mb-3">
|
||||
<div class="card-header">
|
||||
<h4 class="mb-0">MathExtensions</h4>
|
||||
<small class="text-muted">OmegaLeo.HelperLib</small>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="table-responsive">
|
||||
<table class="table table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Member</th>
|
||||
<th>Documentation</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>MathExtensions</code></td>
|
||||
<td><p>Provides extension methods for mathematical operations.</p>
|
||||
<br/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>AverageWithNullValidation</code></td>
|
||||
<td><p>Calculates the average of a list of integers, returning 0 if the list is empty.</p>
|
||||
<br/>
|
||||
<strong>Example:</strong><br/>
|
||||
<div class="example-code mb-2">
|
||||
<div style="color:#DADADA;background-color:#1E1E1E;"><pre>
|
||||
<span style="color:#569CD6;">var</span> numbers = <span style="color:#569CD6;">new</span> List<<span style="color:#569CD6;">int</span>> { <span style="color:#B5CEA8;">1</span>, <span style="color:#B5CEA8;">2</span>, <span style="color:#B5CEA8;">3</span>, <span style="color:#B5CEA8;">4</span> };
|
||||
<span style="color:#569CD6;">int</span> average = numbers.AverageWithNullValidation(); <span style="color:#57A64A;">// average will be 2 (rounded down)</span>
|
||||
<span style="color:#569CD6;">var</span> emptyList = <span style="color:#569CD6;">new</span> List<<span style="color:#569CD6;">int</span>>();
|
||||
<span style="color:#569CD6;">int</span> averageEmpty = emptyList.AverageWithNullValidation(); <span style="color:#57A64A;">// averageEmpty will be 0</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>AverageWithNullValidation</code></td>
|
||||
<td><p>Calculates the average of a list of doubles, returning 0.0 if the list is empty.</p>
|
||||
<br/>
|
||||
<strong>Example:</strong><br/>
|
||||
<div class="example-code mb-2">
|
||||
<div style="color:#DADADA;background-color:#1E1E1E;"><pre>
|
||||
<span style="color:#569CD6;">var</span> numbers = <span style="color:#569CD6;">new</span> List<<span style="color:#569CD6;">double</span>> { <span style="color:#B5CEA8;">1</span>.<span style="color:#B5CEA8;">5</span>, <span style="color:#B5CEA8;">2</span>.<span style="color:#B5CEA8;">5</span>, <span style="color:#B5CEA8;">3</span>.<span style="color:#B5CEA8;">5</span> };
|
||||
<span style="color:#569CD6;">double</span> average = numbers.AverageWithNullValidation(); <span style="color:#57A64A;">// average will be 2.5</span>
|
||||
<span style="color:#569CD6;">var</span> emptyList = <span style="color:#569CD6;">new</span> List<<span style="color:#569CD6;">double</span>>();
|
||||
<span style="color:#569CD6;">double</span> averageEmpty = emptyList.AverageWithNullValidation(); <span style="color:#57A64A;">// averageEmpty will be 0.0</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>AverageWithNullValidation</code></td>
|
||||
<td><p>Calculates the average of a list of floats, returning 0.0f if the list is empty.</p>
|
||||
<br/>
|
||||
<strong>Example:</strong><br/>
|
||||
<div class="example-code mb-2">
|
||||
<div style="color:#DADADA;background-color:#1E1E1E;"><pre>
|
||||
<span style="color:#569CD6;">var</span> numbers = <span style="color:#569CD6;">new</span> List<<span style="color:#569CD6;">float</span>> { <span style="color:#B5CEA8;">1</span>.5f, <span style="color:#B5CEA8;">2</span>.5f, <span style="color:#B5CEA8;">3</span>.5f };
|
||||
<span style="color:#569CD6;">float</span> average = numbers.AverageWithNullValidation(); <span style="color:#57A64A;">// average will be 2.5f</span>
|
||||
<span style="color:#569CD6;">var</span> emptyList = <span style="color:#569CD6;">new</span> List<<span style="color:#569CD6;">float</span>>();
|
||||
<span style="color:#569CD6;">float</span> averageEmpty = emptyList.AverageWithNullValidation(); <span style="color:#57A64A;">// averageEmpty will be 0.0f</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card mb-3">
|
||||
<div class="card-header">
|
||||
<h4 class="mb-0">NeoDictionary`2</h4>
|
||||
<small class="text-muted">OmegaLeo.HelperLib</small>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="table-responsive">
|
||||
<table class="table table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Member</th>
|
||||
<th>Documentation</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>NeoDictionary</code></td>
|
||||
<td><p>Dictionary like class created to make it easier to display dictionaries in game engines like Unity</p>
|
||||
<br/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>TryGetValue</code></td>
|
||||
<td><p>Tries to get the value from the NeoDictionary for the given key.</p>
|
||||
<br/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>TryGetValueFromIndex</code></td>
|
||||
<td><p>Tries to get the value from the NeoDictionary at the given index.</p>
|
||||
<br/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Add</code></td>
|
||||
<td><p>Adds a new NeoDictionaryItem to the NeoDictionary.</p>
|
||||
<br/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>AddRange</code></td>
|
||||
<td><p>Adds a range of NeoDictionaryItems from another NeoDictionary to the NeoDictionary.</p>
|
||||
<br/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>AddRange</code></td>
|
||||
<td><p>Adds a range of NeoDictionaryItems to the NeoDictionary.</p>
|
||||
<br/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Any</code></td>
|
||||
<td><p>Checks if the NeoDictionary has any items.</p>
|
||||
<br/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Any</code></td>
|
||||
<td><p>Checks if any item in the NeoDictionary satisfies a condition.</p>
|
||||
<br/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Where</code></td>
|
||||
<td><p>Filters the NeoDictionary items based on a predicate.</p>
|
||||
<br/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>FirstOrDefault</code></td>
|
||||
<td><p>Returns the first item of the NeoDictionary or a default value if the NeoDictionary is empty.</p>
|
||||
<br/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>FirstOrDefault</code></td>
|
||||
<td><p>Returns the first item of the NeoDictionary that satisfies a condition or a default value if no such item is found.</p>
|
||||
<br/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>LastOrDefault</code></td>
|
||||
<td><p>Returns the last item of the NeoDictionary or a default value if the NeoDictionary is empty.</p>
|
||||
<br/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>LastOrDefault</code></td>
|
||||
<td><p>Returns the last item of the NeoDictionary that satisfies a condition or a default value if no such item is found.</p>
|
||||
<br/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Select</code></td>
|
||||
<td><p>Projects each item of the NeoDictionary into a new form.</p>
|
||||
<br/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>IndexOf</code></td>
|
||||
<td><p>Returns the index of the given NeoDictionaryItem.</p>
|
||||
<br/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Remove</code></td>
|
||||
<td><p>Removes the item with the given key.</p>
|
||||
<br/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>RemoveAt</code></td>
|
||||
<td><p>Removes the item at the given index.</p>
|
||||
<br/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Replace</code></td>
|
||||
<td><p>Replaces the value for the given key if it exists.</p>
|
||||
<br/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>HasKey</code></td>
|
||||
<td><p>Checks if the NeoDictionary contains the given key.</p>
|
||||
<br/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Clear</code></td>
|
||||
<td><p>Clears all items from the NeoDictionary.</p>
|
||||
<br/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Sort</code></td>
|
||||
<td><p>Sorts the NeoDictionary items using the given comparison.</p>
|
||||
<br/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Count</code></td>
|
||||
<td><p>Returns the number of items in the NeoDictionary.</p>
|
||||
<br/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>ForEach</code></td>
|
||||
<td><p>Performs the given action on each item in the NeoDictionary.</p>
|
||||
<br/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>ToList</code></td>
|
||||
<td><p>Converts the NeoDictionary items to a List.</p>
|
||||
<br/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Clone</code></td>
|
||||
<td><p>Creates a shallow copy of the NeoDictionary.</p>
|
||||
<br/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Reverse</code></td>
|
||||
<td><p>Reverses the order of the items in the NeoDictionary.</p>
|
||||
<br/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Insert</code></td>
|
||||
<td><p>Inserts an item at the given index.</p>
|
||||
<br/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>InsertRange</code></td>
|
||||
<td><p>Inserts a range of items starting from the given index.</p>
|
||||
<br/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>RemoveRange</code></td>
|
||||
<td><p>Removes a range of items starting from the given index.</p>
|
||||
<br/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>RemoveAll</code></td>
|
||||
<td><p>Removes all items matching the given predicate.</p>
|
||||
<br/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>FindIndex</code></td>
|
||||
<td><p>Finds the index of the first item matching the given predicate.</p>
|
||||
<br/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Find</code></td>
|
||||
<td><p>Finds the first item matching the given predicate.</p>
|
||||
<br/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>FindAll</code></td>
|
||||
<td><p>Finds all items matching the given predicate.</p>
|
||||
<br/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Merge</code></td>
|
||||
<td><p>Merges another NeoDictionary into this one, ignoring duplicate keys.</p>
|
||||
<br/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>ToDictionarySafe</code></td>
|
||||
<td><p>Converts the NeoDictionary to a standard Dictionary while safely handling duplicate keys by ignoring them.</p>
|
||||
<br/>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card mb-3">
|
||||
<div class="card-header">
|
||||
<h4 class="mb-0">StringExtensions</h4>
|
||||
<small class="text-muted">OmegaLeo.HelperLib</small>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="table-responsive">
|
||||
<table class="table table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Member</th>
|
||||
<th>Documentation</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>StringExtensions</code></td>
|
||||
<td><p>Provides extension methods for the string data type.</p>
|
||||
<br/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Truncate</code></td>
|
||||
<td><p>Truncates the string to a specified maximum number of characters, appending '...' if truncation occurs.</p>
|
||||
<br/>
|
||||
<strong>Example:</strong><br/>
|
||||
<div class="example-code mb-2">
|
||||
<div style="color:#DADADA;background-color:#1E1E1E;"><pre>
|
||||
<span style="color:#569CD6;">var</span> longString = <span style="color:#D69D85;">"This is a very long string that needs to be truncated."</span>;
|
||||
<span style="color:#569CD6;">var</span> truncatedString = longString.Truncate(<span style="color:#B5CEA8;">20</span>); <span style="color:#57A64A;">// truncatedString will be "This is a very long..."</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>IsNullOrEmpty</code></td>
|
||||
<td><p>Checks if the string is null or empty.</p>
|
||||
<br/>
|
||||
<strong>Example:</strong><br/>
|
||||
<div class="example-code mb-2">
|
||||
<div style="color:#DADADA;background-color:#1E1E1E;"><pre>
|
||||
<span style="color:#569CD6;">string</span> myString = <span style="color:#D69D85;">""</span>;
|
||||
<span style="color:#569CD6;">bool</span> isNullOrEmpty = myString.IsNullOrEmpty(); <span style="color:#57A64A;">// isNullOrEmpty will be true</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>IsNotNullOrEmpty</code></td>
|
||||
<td><p>Checks if the string is not null or empty.</p>
|
||||
<br/>
|
||||
<strong>Example:</strong><br/>
|
||||
<div class="example-code mb-2">
|
||||
<div style="color:#DADADA;background-color:#1E1E1E;"><pre>
|
||||
<span style="color:#569CD6;">string</span> myString = <span style="color:#D69D85;">"Hello"</span>;
|
||||
<span style="color:#569CD6;">bool</span> isNotNullOrEmpty = myString.IsNotNullOrEmpty(); <span style="color:#57A64A;">// isNotNullOrEmpty will be true</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>AnyMatch</code></td>
|
||||
<td><p>Checks if the string matches any of the provided search strings, ignoring case.</p>
|
||||
<br/>
|
||||
<strong>Example:</strong><br/>
|
||||
<div class="example-code mb-2">
|
||||
<div style="color:#DADADA;background-color:#1E1E1E;"><pre>
|
||||
<span style="color:#569CD6;">string</span> myString = <span style="color:#D69D85;">"Hello"</span>;
|
||||
<span style="color:#569CD6;">bool</span> matches = myString.AnyMatch(<span style="color:#D69D85;">"hi"</span>, <span style="color:#D69D85;">"hello"</span>, <span style="color:#D69D85;">"greetings"</span>); <span style="color:#57A64A;">// matches will be true</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Reverse</code></td>
|
||||
<td><p>Reverses the characters in the string.</p>
|
||||
<br/>
|
||||
<strong>Example:</strong><br/>
|
||||
<div class="example-code mb-2">
|
||||
<div style="color:#DADADA;background-color:#1E1E1E;"><pre>
|
||||
<span style="color:#569CD6;">string</span> myString = <span style="color:#D69D85;">"Hello"</span>;
|
||||
<span style="color:#569CD6;">string</span> reversedString = myString.Reverse(); <span style="color:#57A64A;">// reversedString will be "olleH"</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="changelog" class="mb-5">
|
||||
<h3>Changelog</h3>
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<h2>Version 1.2.0</h2>
|
||||
<h3>January 28, 2026</h3>
|
||||
<p><strong>OmegaLeo.HelperLib.Extensions</strong></p>
|
||||
<ul>
|
||||
<li><strong>ArrayExtensions</strong>:
|
||||
<ul>
|
||||
<li>Fixed root namespace to OmegaLeo.HelperLib.Extensions.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><strong>FloatExtensions</strong>:
|
||||
<ul>
|
||||
<li>Fixed root namespace to OmegaLeo.HelperLib.Extensions.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><strong>IListExtensions</strong>:
|
||||
<ul>
|
||||
<li>Fixed root namespace to OmegaLeo.HelperLib.Extensions.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><strong>MathExtensions</strong>:
|
||||
<ul>
|
||||
<li>Fixed root namespace to OmegaLeo.HelperLib.Extensions.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><strong>StringExtensions</strong>:
|
||||
<ul>
|
||||
<li>Fixed root namespace to OmegaLeo.HelperLib.Extensions.</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<p><strong>OmegaLeo.HelperLib.Helpers</strong></p>
|
||||
<ul>
|
||||
<li><strong>BenchmarkUtility</strong>:
|
||||
<ul>
|
||||
<li>Fixed root namespace to OmegaLeo.HelperLib.Helpers.</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<p><strong>OmegaLeo.HelperLib.Models</strong></p>
|
||||
<ul>
|
||||
<li><strong>InstancedObject</strong>:
|
||||
<ul>
|
||||
<li>Fixed root namespace to OmegaLeo.HelperLib.Models.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><strong>NeoDictionary</strong>:
|
||||
<ul>
|
||||
<li>Fixed root namespace to OmegaLeo.HelperLib.Models.</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<style>
|
||||
.sticky-top {
|
||||
max-height: calc(100vh - 40px);
|
||||
overflow-y: auto;
|
||||
}
|
||||
|
||||
code {
|
||||
background-color: #f8f9fa;
|
||||
padding: 2px 6px;
|
||||
border-radius: 3px;
|
||||
font-size: 0.9em;
|
||||
}
|
||||
|
||||
.table th {
|
||||
background-color: #f8f9fa;
|
||||
}
|
||||
</style>
|
||||
|
||||
</main>
|
||||
|
||||
<script src="../../lib/jquery/dist/jquery.min.js"></script>
|
||||
<script src="../../lib/bootstrap/dist/js/bootstrap.bundle.min.js"></script>
|
||||
<script src="../../js/site.js%3Fv=y_Ngd8W21UpuCUhEqGbUKDEqFnNfTjAfb24GhJJGUyM"></script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,187 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Documentation Library - OmegaLeo Helper Libraries</title>
|
||||
<link rel="stylesheet" href="../../lib/bootstrap/dist/css/bootstrap.min.css" />
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.10.0/font/bootstrap-icons.css">
|
||||
<link rel="stylesheet" href="../../css/site.css%3Fv=AK2YraxbvzgrpO6A1NqAHflCP7fbweSjdyWpd3ERsLE.css" />
|
||||
</head>
|
||||
<body>
|
||||
<header b-pqzonzw7gm>
|
||||
<nav b-pqzonzw7gm class="navbar navbar-expand-sm navbar-dark bg-dark border-bottom box-shadow mb-3">
|
||||
<div b-pqzonzw7gm class="container-fluid">
|
||||
<a class="navbar-brand" href="../../index.html">
|
||||
OmegaLeo Helper Libraries
|
||||
</a>
|
||||
<button b-pqzonzw7gm class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target=".navbar-collapse">
|
||||
<span b-pqzonzw7gm class="navbar-toggler-icon"></span>
|
||||
</button>
|
||||
<div b-pqzonzw7gm class="navbar-collapse collapse d-sm-inline-flex justify-content-between">
|
||||
<ul b-pqzonzw7gm class="navbar-nav flex-grow-1">
|
||||
<li b-pqzonzw7gm class="nav-item">
|
||||
<a class="nav-link" href="../../index.html">Home</a>
|
||||
</li>
|
||||
<li b-pqzonzw7gm class="nav-item">
|
||||
<a class="nav-link" href="core.html">Core</a>
|
||||
</li>
|
||||
<li b-pqzonzw7gm class="nav-item">
|
||||
<a class="nav-link" href="changelog.html">Changelog</a>
|
||||
</li>
|
||||
<li b-pqzonzw7gm class="nav-item">
|
||||
<a class="nav-link" href="game.html">Game Dev</a>
|
||||
</li>
|
||||
<li b-pqzonzw7gm class="nav-item">
|
||||
<a class="nav-link" href="documentation.html">Documentation</a>
|
||||
</li>
|
||||
<li b-pqzonzw7gm class="nav-item">
|
||||
<a class="nav-link" href="shared.html">Shared Components</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<ul b-pqzonzw7gm class="navbar-nav ms-auto">
|
||||
<li b-pqzonzw7gm class="nav-item">
|
||||
<a b-pqzonzw7gm class="nav-link" href="https://github.com/omegaleo/HelperLib" target="_blank" rel="noopener noreferrer" aria-label="GitHub repository">
|
||||
<i b-pqzonzw7gm class="bi bi-github" style="font-size:1.25rem;"></i> View on Github
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
<main b-pqzonzw7gm role="main" class="pb-3">
|
||||
|
||||
<div class="container-fluid mt-4">
|
||||
<nav aria-label="breadcrumb">
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item"><a href="../../index.html">Home</a></li>
|
||||
<li class="breadcrumb-item active">Documentation Library</li>
|
||||
</ol>
|
||||
</nav>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-3">
|
||||
<div class="sticky-top" style="top: 20px;">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<h5>Documentation Library</h5>
|
||||
</div>
|
||||
<div class="card-body p-0">
|
||||
<div class="list-group list-group-flush">
|
||||
<a class="list-group-item list-group-item-action" href="documentation.html#overview">
|
||||
<i class="bi bi-info-circle me-2"></i>Overview
|
||||
</a>
|
||||
<a class="list-group-item list-group-item-action" href="documentation.html#namespace-OmegaLeo-HelperLib-Documentation">
|
||||
<i class="bi bi-folder me-2"></i>OmegaLeo.HelperLib.Documentation
|
||||
</a>
|
||||
<a class="list-group-item list-group-item-action" href="documentation.html#changelog">
|
||||
<i class="bi bi-clock-history me-2"></i>Changelog
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-9">
|
||||
<div id="overview" class="mb-5">
|
||||
<h2>Documentation Library</h2>
|
||||
<p class="lead">Tools for generating documentation from code attributes</p>
|
||||
<hr />
|
||||
</div>
|
||||
|
||||
<div id="namespace-OmegaLeo-HelperLib-Documentation" class="mb-5">
|
||||
<h3>OmegaLeo.HelperLib.Documentation</h3>
|
||||
|
||||
<div class="card mb-3">
|
||||
<div class="card-header">
|
||||
<h4 class="mb-0">DocumentationHelperTool</h4>
|
||||
<small class="text-muted">OmegaLeo.HelperLib.Documentation</small>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="table-responsive">
|
||||
<table class="table table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Member</th>
|
||||
<th>Documentation</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>GenerateDocumentation (bool generateForPackageAssembly)</code></td>
|
||||
<td><p>Generates a List of objects of type DocumentationStructure that contain the following fields:<br />
|
||||
<strong>AssemblyName</strong>: Name of the main Assembly, used to identify the root namespace<br />
|
||||
<strong>ClassName</strong>: Name of the class, used to identify the upper level object<br />
|
||||
<strong>Title</strong>: Title what we're generating documentation for<br />
|
||||
<strong>Description</strong>: Description of what we're generating documentation for, this can contain usage examples and can use the args array to pass names(e.g.: This method uses this methodology)<br />
|
||||
<strong>Args</strong>: Array of strings that describe the parameters of the method or class<br />
|
||||
<strong>CodeExample</strong>: A code example of how to use the method or class</p>
|
||||
<p><em>Note: If generateForPackageAssembly is set to true, this will generate documentation for the library as well.</em></p>
|
||||
<br/>
|
||||
<strong>Example:</strong><br/>
|
||||
<div class="example-code mb-2">
|
||||
<div style="color:#DADADA;background-color:#1E1E1E;"><pre>
|
||||
DocumentationHelperTool.GenerateDocumentation(<span style="color:#569CD6;">true</span>); <span style="color:#57A64A;">// Generates documentation for all assemblies including the DocumentationHelper.Library package assembly</span>
|
||||
DocumentationHelperTool.GenerateDocumentation(<span style="color:#569CD6;">false</span>); <span style="color:#57A64A;">// Generates documentation for all assemblies excluding the DocumentationHelper.Library package assembly</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="changelog" class="mb-5">
|
||||
<h3>Changelog</h3>
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<h2>Version 1.2.0</h2>
|
||||
<h3>January 26, 2026</h3>
|
||||
<p><strong>OmegaLeo.HelperLib.Documentation.Helpers</strong></p>
|
||||
<ul>
|
||||
<li><strong>DocumentationHelperTool</strong>:
|
||||
<ul>
|
||||
<li>Migrated DocumentationHelper library from NetFlow.DocumentationHelper.Library to it's own package in OmegaLeo.HelperLib</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<style>
|
||||
.sticky-top {
|
||||
max-height: calc(100vh - 40px);
|
||||
overflow-y: auto;
|
||||
}
|
||||
|
||||
code {
|
||||
background-color: #f8f9fa;
|
||||
padding: 2px 6px;
|
||||
border-radius: 3px;
|
||||
font-size: 0.9em;
|
||||
}
|
||||
|
||||
.table th {
|
||||
background-color: #f8f9fa;
|
||||
}
|
||||
</style>
|
||||
|
||||
</main>
|
||||
|
||||
<script src="../../lib/jquery/dist/jquery.min.js"></script>
|
||||
<script src="../../lib/bootstrap/dist/js/bootstrap.bundle.min.js"></script>
|
||||
<script src="../../js/site.js%3Fv=y_Ngd8W21UpuCUhEqGbUKDEqFnNfTjAfb24GhJJGUyM"></script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,416 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Game Development Library - OmegaLeo Helper Libraries</title>
|
||||
<link rel="stylesheet" href="../../lib/bootstrap/dist/css/bootstrap.min.css" />
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.10.0/font/bootstrap-icons.css">
|
||||
<link rel="stylesheet" href="../../css/site.css%3Fv=AK2YraxbvzgrpO6A1NqAHflCP7fbweSjdyWpd3ERsLE.css" />
|
||||
</head>
|
||||
<body>
|
||||
<header b-pqzonzw7gm>
|
||||
<nav b-pqzonzw7gm class="navbar navbar-expand-sm navbar-dark bg-dark border-bottom box-shadow mb-3">
|
||||
<div b-pqzonzw7gm class="container-fluid">
|
||||
<a class="navbar-brand" href="../../index.html">
|
||||
OmegaLeo Helper Libraries
|
||||
</a>
|
||||
<button b-pqzonzw7gm class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target=".navbar-collapse">
|
||||
<span b-pqzonzw7gm class="navbar-toggler-icon"></span>
|
||||
</button>
|
||||
<div b-pqzonzw7gm class="navbar-collapse collapse d-sm-inline-flex justify-content-between">
|
||||
<ul b-pqzonzw7gm class="navbar-nav flex-grow-1">
|
||||
<li b-pqzonzw7gm class="nav-item">
|
||||
<a class="nav-link" href="../../index.html">Home</a>
|
||||
</li>
|
||||
<li b-pqzonzw7gm class="nav-item">
|
||||
<a class="nav-link" href="core.html">Core</a>
|
||||
</li>
|
||||
<li b-pqzonzw7gm class="nav-item">
|
||||
<a class="nav-link" href="changelog.html">Changelog</a>
|
||||
</li>
|
||||
<li b-pqzonzw7gm class="nav-item">
|
||||
<a class="nav-link" href="game.html">Game Dev</a>
|
||||
</li>
|
||||
<li b-pqzonzw7gm class="nav-item">
|
||||
<a class="nav-link" href="documentation.html">Documentation</a>
|
||||
</li>
|
||||
<li b-pqzonzw7gm class="nav-item">
|
||||
<a class="nav-link" href="shared.html">Shared Components</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<ul b-pqzonzw7gm class="navbar-nav ms-auto">
|
||||
<li b-pqzonzw7gm class="nav-item">
|
||||
<a b-pqzonzw7gm class="nav-link" href="https://github.com/omegaleo/HelperLib" target="_blank" rel="noopener noreferrer" aria-label="GitHub repository">
|
||||
<i b-pqzonzw7gm class="bi bi-github" style="font-size:1.25rem;"></i> View on Github
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
<main b-pqzonzw7gm role="main" class="pb-3">
|
||||
|
||||
<div class="container-fluid mt-4">
|
||||
<nav aria-label="breadcrumb">
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item"><a href="../../index.html">Home</a></li>
|
||||
<li class="breadcrumb-item active">Game Development Library</li>
|
||||
</ol>
|
||||
</nav>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-3">
|
||||
<div class="sticky-top" style="top: 20px;">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<h5>Game Development Library</h5>
|
||||
</div>
|
||||
<div class="card-body p-0">
|
||||
<div class="list-group list-group-flush">
|
||||
<a class="list-group-item list-group-item-action" href="game.html#overview">
|
||||
<i class="bi bi-info-circle me-2"></i>Overview
|
||||
</a>
|
||||
<a class="list-group-item list-group-item-action" href="game.html#namespace-OmegaLeo-HelperLib-Game">
|
||||
<i class="bi bi-folder me-2"></i>OmegaLeo.HelperLib.Game
|
||||
</a>
|
||||
<a class="list-group-item list-group-item-action" href="game.html#changelog">
|
||||
<i class="bi bi-clock-history me-2"></i>Changelog
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-9">
|
||||
<div id="overview" class="mb-5">
|
||||
<h2>Game Development Library</h2>
|
||||
<p class="lead">Game development utilities for Unity and Godot</p>
|
||||
<hr />
|
||||
</div>
|
||||
|
||||
<div id="namespace-OmegaLeo-HelperLib-Game" class="mb-5">
|
||||
<h3>OmegaLeo.HelperLib.Game</h3>
|
||||
|
||||
<div class="card mb-3">
|
||||
<div class="card-header">
|
||||
<h4 class="mb-0">CommandConsole</h4>
|
||||
<small class="text-muted">OmegaLeo.HelperLib.Game</small>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="table-responsive">
|
||||
<table class="table table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Member</th>
|
||||
<th>Documentation</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>RegisterCommand</code></td>
|
||||
<td><p>Registers a new command with the console.</p>
|
||||
<br/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>RegisterCommand</code></td>
|
||||
<td><p>Registers a new command with the console using a delegate.</p>
|
||||
<br/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>UnregisterCommand</code></td>
|
||||
<td><p>Removes a command from the console.</p>
|
||||
<br/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>ExecuteCommand</code></td>
|
||||
<td><p>Executes a command string.</p>
|
||||
<br/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Output</code></td>
|
||||
<td><p>Outputs a message to the console.</p>
|
||||
<br/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Error</code></td>
|
||||
<td><p>Outputs an error message to the console.</p>
|
||||
<br/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>ClearHistory</code></td>
|
||||
<td><p>Clears command history.</p>
|
||||
<br/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>GetAutoComplete</code></td>
|
||||
<td><p>Gets autocomplete suggestions for partial input.</p>
|
||||
<br/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>RegisterDefaultCommands</code></td>
|
||||
<td><p>Registers built-in commands.</p>
|
||||
<br/>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card mb-3">
|
||||
<div class="card-header">
|
||||
<h4 class="mb-0">DelayedActionHandler</h4>
|
||||
<small class="text-muted">OmegaLeo.HelperLib.Game</small>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="table-responsive">
|
||||
<table class="table table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Member</th>
|
||||
<th>Documentation</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>DelayedActionHandler</code></td>
|
||||
<td><p>Handler for managing delayed actions, allowing cancellation and status checking.</p>
|
||||
<br/>
|
||||
<strong>Example:</strong><br/>
|
||||
<div class="example-code mb-2">
|
||||
<div style="color:#DADADA;background-color:#1E1E1E;"><pre>
|
||||
<span style="color:#569CD6;">var</span> action = <span style="color:#569CD6;">new</span> DelayedAction(...);
|
||||
<span style="color:#569CD6;">var</span> handler = <span style="color:#569CD6;">new</span> DelayedActionHandler(action);
|
||||
</pre></div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Cancel</code></td>
|
||||
<td><p>Cancels the delayed action if it has not yet executed.</p>
|
||||
<br/>
|
||||
<strong>Example:</strong><br/>
|
||||
<div class="example-code mb-2">
|
||||
<div style="color:#DADADA;background-color:#1E1E1E;"><pre>
|
||||
handler.Cancel();
|
||||
</pre></div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card mb-3">
|
||||
<div class="card-header">
|
||||
<h4 class="mb-0">DelayedActionManager</h4>
|
||||
<small class="text-muted">OmegaLeo.HelperLib.Game</small>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="table-responsive">
|
||||
<table class="table table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Member</th>
|
||||
<th>Documentation</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>PendingActionsCount</code></td>
|
||||
<td><p>Gets the count of pending delayed actions.</p>
|
||||
<br/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>RunAfter</code></td>
|
||||
<td><p>Schedules an action to run after a specified delay.</p>
|
||||
<br/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>RunRepeating</code></td>
|
||||
<td><p>Schedules an action to run repeatedly at specified intervals.</p>
|
||||
<br/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>RunAfterCancellable</code></td>
|
||||
<td><p>Schedules an action to run after a delay and returns a handler to cancel it if needed.</p>
|
||||
<br/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>CancelAll</code></td>
|
||||
<td><p>Cancels all pending delayed actions.</p>
|
||||
<br/>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card mb-3">
|
||||
<div class="card-header">
|
||||
<h4 class="mb-0">ListExtensions</h4>
|
||||
<small class="text-muted">OmegaLeo.HelperLib.Game</small>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="table-responsive">
|
||||
<table class="table table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Member</th>
|
||||
<th>Documentation</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>Shuffle</code></td>
|
||||
<td><p>Shuffles the elements of the list in place using the provided RandomNumberGenerator.</p>
|
||||
<br/>
|
||||
<strong>Example:</strong><br/>
|
||||
<div class="example-code mb-2">
|
||||
<div style="color:#DADADA;background-color:#1E1E1E;"><pre>
|
||||
<span style="color:#569CD6;">var</span> list = <span style="color:#569CD6;">new</span> List<<span style="color:#569CD6;">int</span>> { <span style="color:#B5CEA8;">1</span>, <span style="color:#B5CEA8;">2</span>, <span style="color:#B5CEA8;">3</span>, <span style="color:#B5CEA8;">4</span>};
|
||||
<span style="color:#569CD6;">var</span> rng = <span style="color:#569CD6;">new</span> RandomNumberGenerator();
|
||||
<span style="color:#57A64A;">// List before: [1, 2, 3, 4]</span>
|
||||
list.Shuffle(rng);
|
||||
<span style="color:#57A64A;">// List after: [3, 1, 4, 2] (example output)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card mb-3">
|
||||
<div class="card-header">
|
||||
<h4 class="mb-0">SaveManager</h4>
|
||||
<small class="text-muted">OmegaLeo.HelperLib.Game</small>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="table-responsive">
|
||||
<table class="table table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Member</th>
|
||||
<th>Documentation</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>Save</code></td>
|
||||
<td><p>Saves data to a JSON file.</p>
|
||||
<br/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>Load</code></td>
|
||||
<td><p>Loads data from a JSON file.</p>
|
||||
<br/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>TryLoad</code></td>
|
||||
<td><p>Attempts to load data from a JSON file, returning a success flag.</p>
|
||||
<br/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>SaveExists</code></td>
|
||||
<td><p>Checks if a save file exists.</p>
|
||||
<br/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>DeleteSave</code></td>
|
||||
<td><p>Deletes a save file.</p>
|
||||
<br/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><code>GetAllSaveFiles</code></td>
|
||||
<td><p>Retrieves all save files in the save directory.</p>
|
||||
<br/>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card mb-3">
|
||||
<div class="card-header">
|
||||
<h4 class="mb-0">WeightedPicker</h4>
|
||||
<small class="text-muted">OmegaLeo.HelperLib.Game</small>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="table-responsive">
|
||||
<table class="table table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Member</th>
|
||||
<th>Documentation</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>WeightedPicker.Pick</code></td>
|
||||
<td><p>Picks a random item from a dictionary of items with associated weights.</p>
|
||||
<br/>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<style>
|
||||
.sticky-top {
|
||||
max-height: calc(100vh - 40px);
|
||||
overflow-y: auto;
|
||||
}
|
||||
|
||||
code {
|
||||
background-color: #f8f9fa;
|
||||
padding: 2px 6px;
|
||||
border-radius: 3px;
|
||||
font-size: 0.9em;
|
||||
}
|
||||
|
||||
.table th {
|
||||
background-color: #f8f9fa;
|
||||
}
|
||||
</style>
|
||||
|
||||
</main>
|
||||
|
||||
<script src="../../lib/jquery/dist/jquery.min.js"></script>
|
||||
<script src="../../lib/bootstrap/dist/js/bootstrap.bundle.min.js"></script>
|
||||
<script src="../../js/site.js%3Fv=y_Ngd8W21UpuCUhEqGbUKDEqFnNfTjAfb24GhJJGUyM"></script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,235 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Shared Library - OmegaLeo Helper Libraries</title>
|
||||
<link rel="stylesheet" href="../../lib/bootstrap/dist/css/bootstrap.min.css" />
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.10.0/font/bootstrap-icons.css">
|
||||
<link rel="stylesheet" href="../../css/site.css%3Fv=AK2YraxbvzgrpO6A1NqAHflCP7fbweSjdyWpd3ERsLE.css" />
|
||||
</head>
|
||||
<body>
|
||||
<header b-pqzonzw7gm>
|
||||
<nav b-pqzonzw7gm class="navbar navbar-expand-sm navbar-dark bg-dark border-bottom box-shadow mb-3">
|
||||
<div b-pqzonzw7gm class="container-fluid">
|
||||
<a class="navbar-brand" href="../../index.html">
|
||||
OmegaLeo Helper Libraries
|
||||
</a>
|
||||
<button b-pqzonzw7gm class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target=".navbar-collapse">
|
||||
<span b-pqzonzw7gm class="navbar-toggler-icon"></span>
|
||||
</button>
|
||||
<div b-pqzonzw7gm class="navbar-collapse collapse d-sm-inline-flex justify-content-between">
|
||||
<ul b-pqzonzw7gm class="navbar-nav flex-grow-1">
|
||||
<li b-pqzonzw7gm class="nav-item">
|
||||
<a class="nav-link" href="../../index.html">Home</a>
|
||||
</li>
|
||||
<li b-pqzonzw7gm class="nav-item">
|
||||
<a class="nav-link" href="core.html">Core</a>
|
||||
</li>
|
||||
<li b-pqzonzw7gm class="nav-item">
|
||||
<a class="nav-link" href="changelog.html">Changelog</a>
|
||||
</li>
|
||||
<li b-pqzonzw7gm class="nav-item">
|
||||
<a class="nav-link" href="game.html">Game Dev</a>
|
||||
</li>
|
||||
<li b-pqzonzw7gm class="nav-item">
|
||||
<a class="nav-link" href="documentation.html">Documentation</a>
|
||||
</li>
|
||||
<li b-pqzonzw7gm class="nav-item">
|
||||
<a class="nav-link" href="shared.html">Shared Components</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<ul b-pqzonzw7gm class="navbar-nav ms-auto">
|
||||
<li b-pqzonzw7gm class="nav-item">
|
||||
<a b-pqzonzw7gm class="nav-link" href="https://github.com/omegaleo/HelperLib" target="_blank" rel="noopener noreferrer" aria-label="GitHub repository">
|
||||
<i b-pqzonzw7gm class="bi bi-github" style="font-size:1.25rem;"></i> View on Github
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
<main b-pqzonzw7gm role="main" class="pb-3">
|
||||
|
||||
<div class="container-fluid mt-4">
|
||||
<nav aria-label="breadcrumb">
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item"><a href="../../index.html">Home</a></li>
|
||||
<li class="breadcrumb-item active">Shared Library</li>
|
||||
</ol>
|
||||
</nav>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-3">
|
||||
<div class="sticky-top" style="top: 20px;">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<h5>Shared Library</h5>
|
||||
</div>
|
||||
<div class="card-body p-0">
|
||||
<div class="list-group list-group-flush">
|
||||
<a class="list-group-item list-group-item-action" href="shared.html#overview">
|
||||
<i class="bi bi-info-circle me-2"></i>Overview
|
||||
</a>
|
||||
<a class="list-group-item list-group-item-action" href="shared.html#namespace-OmegaLeo-HelperLib-Shared">
|
||||
<i class="bi bi-folder me-2"></i>OmegaLeo.HelperLib.Shared
|
||||
</a>
|
||||
<a class="list-group-item list-group-item-action" href="shared.html#changelog">
|
||||
<i class="bi bi-clock-history me-2"></i>Changelog
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-9">
|
||||
<div id="overview" class="mb-5">
|
||||
<h2>Shared Library</h2>
|
||||
<p class="lead">Library of shared attributes and utilities used across other OmegaLeo.HelperLib packages</p>
|
||||
<hr />
|
||||
</div>
|
||||
|
||||
<div id="namespace-OmegaLeo-HelperLib-Shared" class="mb-5">
|
||||
<h3>OmegaLeo.HelperLib.Shared</h3>
|
||||
|
||||
<div class="card mb-3">
|
||||
<div class="card-header">
|
||||
<h4 class="mb-0">ChangelogAttribute</h4>
|
||||
<small class="text-muted">OmegaLeo.HelperLib.Shared</small>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="table-responsive">
|
||||
<table class="table table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Member</th>
|
||||
<th>Documentation</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>ChangelogAttribute</code></td>
|
||||
<td><p>Attribute to annotate classes, methods, or properties with changelog information.</p>
|
||||
<br/>
|
||||
<strong>Example:</strong><br/>
|
||||
<div class="example-code mb-2">
|
||||
<div style="color:#DADADA;background-color:#1E1E1E;"><pre>
|
||||
[Changelog(<span style="color:#D69D85;">"1.0.0"</span>, <span style="color:#D69D85;">"Created ChangelogAttribute to be used to register changes in the code."</span>)]
|
||||
<span style="color:#569CD6;">public</span> <span style="color:#569CD6;">class</span> ChangelogAttribute : Attribute
|
||||
</pre></div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card mb-3">
|
||||
<div class="card-header">
|
||||
<h4 class="mb-0">DocumentationAttribute</h4>
|
||||
<small class="text-muted">OmegaLeo.HelperLib.Shared</small>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="table-responsive">
|
||||
<table class="table table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Member</th>
|
||||
<th>Documentation</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><code>DocumentationAttribute</code></td>
|
||||
<td><p>Attribute to annotate classes, methods, or properties with documentation information.</p>
|
||||
<br/>
|
||||
<strong>Example:</strong><br/>
|
||||
<div class="example-code mb-2">
|
||||
<div style="color:#DADADA;background-color:#1E1E1E;"><pre>
|
||||
[Documentation(
|
||||
<span style="color:#D69D85;">"MyMethod"</span>,
|
||||
<span style="color:#D69D85;">"This method does something important."</span>,
|
||||
<span style="color:#569CD6;">new</span> <span style="color:#569CD6;">string</span>[] { <span style="color:#D69D85;">"param1: The first parameter."</span>, <span style="color:#D69D85;">"param2: The second parameter."</span> },
|
||||
<span style="color:#D69D85;">"MyMethod(param1, param2);"</span>
|
||||
)]
|
||||
<span style="color:#569CD6;">public</span> <span style="color:#569CD6;">void</span> MyMethod(<span style="color:#569CD6;">string</span> param1, <span style="color:#569CD6;">int</span> param2)
|
||||
{
|
||||
<span style="color:#57A64A;">// Method implementation</span>
|
||||
}
|
||||
</pre></div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="changelog" class="mb-5">
|
||||
<h3>Changelog</h3>
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<h2>Version 1.2.1</h2>
|
||||
<h3>January 28, 2026</h3>
|
||||
<p><strong>OmegaLeo.HelperLib.Shared.Attributes</strong></p>
|
||||
<ul>
|
||||
<li><strong>ChangelogAttribute</strong>:
|
||||
<ul>
|
||||
<li>Created documentation for ChangelogAttribute.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><strong>DocumentationAttribute</strong>:
|
||||
<ul>
|
||||
<li>Created documentation for DocumentationAttribute.</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<h2>Version 1.0.0</h2>
|
||||
<p><strong>OmegaLeo.HelperLib.Shared.Attributes</strong></p>
|
||||
<ul>
|
||||
<li><strong>ChangelogAttribute</strong>:
|
||||
<ul>
|
||||
<li>Created ChangelogAttribute to be used to register changes in the code.</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<style>
|
||||
.sticky-top {
|
||||
max-height: calc(100vh - 40px);
|
||||
overflow-y: auto;
|
||||
}
|
||||
|
||||
code {
|
||||
background-color: #f8f9fa;
|
||||
padding: 2px 6px;
|
||||
border-radius: 3px;
|
||||
font-size: 0.9em;
|
||||
}
|
||||
|
||||
.table th {
|
||||
background-color: #f8f9fa;
|
||||
}
|
||||
</style>
|
||||
|
||||
</main>
|
||||
|
||||
<script src="../../lib/jquery/dist/jquery.min.js"></script>
|
||||
<script src="../../lib/bootstrap/dist/js/bootstrap.bundle.min.js"></script>
|
||||
<script src="../../js/site.js%3Fv=y_Ngd8W21UpuCUhEqGbUKDEqFnNfTjAfb24GhJJGUyM"></script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,40 @@
|
||||
html {
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
@media (min-width: 768px) {
|
||||
html {
|
||||
font-size: 16px;
|
||||
}
|
||||
}
|
||||
|
||||
.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
|
||||
box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
|
||||
}
|
||||
|
||||
html {
|
||||
position: relative;
|
||||
min-height: 100%;
|
||||
}
|
||||
|
||||
body {
|
||||
margin-bottom: 60px;
|
||||
}
|
||||
|
||||
pre {
|
||||
overflow: auto;
|
||||
padding: 1rem;
|
||||
background-color: #495057;
|
||||
position: relative;
|
||||
|
||||
color: #f2f2f2;
|
||||
}
|
||||
|
||||
code {
|
||||
background-color: transparent !important;
|
||||
}
|
||||
|
||||
.example-code > div {
|
||||
border-radius: 0.5rem !important;
|
||||
background-color: #495057 !important;
|
||||
}
|
||||
+177
@@ -0,0 +1,177 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>OmegaLeo Helper Libraries - OmegaLeo Helper Libraries</title>
|
||||
<link rel="stylesheet" href="lib/bootstrap/dist/css/bootstrap.min.css" />
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.10.0/font/bootstrap-icons.css">
|
||||
<link rel="stylesheet" href="css/site.css%3Fv=AK2YraxbvzgrpO6A1NqAHflCP7fbweSjdyWpd3ERsLE.css" />
|
||||
</head>
|
||||
<body>
|
||||
<header b-pqzonzw7gm>
|
||||
<nav b-pqzonzw7gm class="navbar navbar-expand-sm navbar-dark bg-dark border-bottom box-shadow mb-3">
|
||||
<div b-pqzonzw7gm class="container-fluid">
|
||||
<a class="navbar-brand" href="index.html">
|
||||
OmegaLeo Helper Libraries
|
||||
</a>
|
||||
<button b-pqzonzw7gm class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target=".navbar-collapse">
|
||||
<span b-pqzonzw7gm class="navbar-toggler-icon"></span>
|
||||
</button>
|
||||
<div b-pqzonzw7gm class="navbar-collapse collapse d-sm-inline-flex justify-content-between">
|
||||
<ul b-pqzonzw7gm class="navbar-nav flex-grow-1">
|
||||
<li b-pqzonzw7gm class="nav-item">
|
||||
<a class="nav-link" href="index.html">Home</a>
|
||||
</li>
|
||||
<li b-pqzonzw7gm class="nav-item">
|
||||
<a class="nav-link" href="Home/Library/core.html">Core</a>
|
||||
</li>
|
||||
<li b-pqzonzw7gm class="nav-item">
|
||||
<a class="nav-link" href="Home/Library/changelog.html">Changelog</a>
|
||||
</li>
|
||||
<li b-pqzonzw7gm class="nav-item">
|
||||
<a class="nav-link" href="Home/Library/game.html">Game Dev</a>
|
||||
</li>
|
||||
<li b-pqzonzw7gm class="nav-item">
|
||||
<a class="nav-link" href="Home/Library/documentation.html">Documentation</a>
|
||||
</li>
|
||||
<li b-pqzonzw7gm class="nav-item">
|
||||
<a class="nav-link" href="Home/Library/shared.html">Shared Components</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<ul b-pqzonzw7gm class="navbar-nav ms-auto">
|
||||
<li b-pqzonzw7gm class="nav-item">
|
||||
<a b-pqzonzw7gm class="nav-link" href="https://github.com/omegaleo/HelperLib" target="_blank" rel="noopener noreferrer" aria-label="GitHub repository">
|
||||
<i b-pqzonzw7gm class="bi bi-github" style="font-size:1.25rem;"></i> View on Github
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
<main b-pqzonzw7gm role="main" class="pb-3">
|
||||
|
||||
<div class="container mt-5">
|
||||
<div class="text-center mb-5">
|
||||
<h1 class="display-4">OmegaLeo Helper Libraries</h1>
|
||||
<p class="lead">Comprehensive C# libraries for game development and general utilities</p>
|
||||
</div>
|
||||
|
||||
<div class="row g-4">
|
||||
<div class="col-md-4">
|
||||
<div class="card h-100 shadow-sm">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">Core Library</h5>
|
||||
<p class="card-text">Core utilities and helper functions for general C# development</p>
|
||||
<p class="text-muted small">
|
||||
8 classes documented
|
||||
</p>
|
||||
<a href="https://www.nuget.org/packages/OmegaLeo.HelperLib"
|
||||
target="_blank"
|
||||
class="btn btn-sm btn-outline-primary">
|
||||
<i class="bi bi-box-seam"></i> View on NuGet
|
||||
</a>
|
||||
</div>
|
||||
<div class="card-footer">
|
||||
<a class="btn btn-primary w-100" href="Home/Library/core.html">
|
||||
View Documentation
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<div class="card h-100 shadow-sm">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">Changelog Library</h5>
|
||||
<p class="card-text">Tools for managing and generating changelogs</p>
|
||||
<p class="text-muted small">
|
||||
2 classes documented
|
||||
</p>
|
||||
<a href="https://www.nuget.org/packages/OmegaLeo.HelperLib.Changelog"
|
||||
target="_blank"
|
||||
class="btn btn-sm btn-outline-primary">
|
||||
<i class="bi bi-box-seam"></i> View on NuGet
|
||||
</a>
|
||||
</div>
|
||||
<div class="card-footer">
|
||||
<a class="btn btn-primary w-100" href="Home/Library/changelog.html">
|
||||
View Documentation
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<div class="card h-100 shadow-sm">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">Game Development Library</h5>
|
||||
<p class="card-text">Game development utilities for Unity and Godot</p>
|
||||
<p class="text-muted small">
|
||||
6 classes documented
|
||||
</p>
|
||||
<a href="https://www.nuget.org/packages/OmegaLeo.HelperLib.Game"
|
||||
target="_blank"
|
||||
class="btn btn-sm btn-outline-primary">
|
||||
<i class="bi bi-box-seam"></i> View on NuGet
|
||||
</a>
|
||||
</div>
|
||||
<div class="card-footer">
|
||||
<a class="btn btn-primary w-100" href="Home/Library/game.html">
|
||||
View Documentation
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<div class="card h-100 shadow-sm">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">Documentation Library</h5>
|
||||
<p class="card-text">Tools for generating documentation from code attributes</p>
|
||||
<p class="text-muted small">
|
||||
1 classes documented
|
||||
</p>
|
||||
<a href="https://www.nuget.org/packages/OmegaLeo.HelperLib.Documentation"
|
||||
target="_blank"
|
||||
class="btn btn-sm btn-outline-primary">
|
||||
<i class="bi bi-box-seam"></i> View on NuGet
|
||||
</a>
|
||||
</div>
|
||||
<div class="card-footer">
|
||||
<a class="btn btn-primary w-100" href="Home/Library/documentation.html">
|
||||
View Documentation
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<div class="card h-100 shadow-sm">
|
||||
<div class="card-body">
|
||||
<h5 class="card-title">Shared Library</h5>
|
||||
<p class="card-text">Library of shared attributes and utilities used across other OmegaLeo.HelperLib packages</p>
|
||||
<p class="text-muted small">
|
||||
2 classes documented
|
||||
</p>
|
||||
<a href="https://www.nuget.org/packages/OmegaLeo.HelperLib.Shared"
|
||||
target="_blank"
|
||||
class="btn btn-sm btn-outline-primary">
|
||||
<i class="bi bi-box-seam"></i> View on NuGet
|
||||
</a>
|
||||
</div>
|
||||
<div class="card-footer">
|
||||
<a class="btn btn-primary w-100" href="Home/Library/shared.html">
|
||||
View Documentation
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
<script src="lib/jquery/dist/jquery.min.js"></script>
|
||||
<script src="lib/bootstrap/dist/js/bootstrap.bundle.min.js"></script>
|
||||
<script src="js/site.js%3Fv=y_Ngd8W21UpuCUhEqGbUKDEqFnNfTjAfb24GhJJGUyM"></script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,4 @@
|
||||
// Please see documentation at https://learn.microsoft.com/aspnet/core/client-side/bundling-and-minification
|
||||
// for details on configuring this project to bundle and minify static web assets.
|
||||
|
||||
// Write your JavaScript code.
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Vendored
+2
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user