Woowz11.WoowzLib 0.0.4.44

dotnet add package Woowz11.WoowzLib --version 0.0.4.44
                    
NuGet\Install-Package Woowz11.WoowzLib -Version 0.0.4.44
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Woowz11.WoowzLib" Version="0.0.4.44" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Woowz11.WoowzLib" Version="0.0.4.44" />
                    
Directory.Packages.props
<PackageReference Include="Woowz11.WoowzLib" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Woowz11.WoowzLib --version 0.0.4.44
                    
#r "nuget: Woowz11.WoowzLib, 0.0.4.44"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Woowz11.WoowzLib@0.0.4.44
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Woowz11.WoowzLib&version=0.0.4.44
                    
Install as a Cake Addin
#tool nuget:?package=Woowz11.WoowzLib&version=0.0.4.44
                    
Install as a Cake Tool

<div align="center">

Иконка

Typing SVG

License

Информация

</div>

WoowzLib.Core — Основа библиотеки WoowzLib, на ней основываются модули библиотеки.

Библиотека работат только на Windows, и поддерживает только Русский язык!

Детали

  • Net 8.0
  • Только Windows
  • Всё на русском, комментарии, ошибки
  • Много try/catch

Ссылки

NuGet • GitHub

<div align="center">

Под-Модули

Название Информация
WoowzLib Содержит в себе запуск WoowzLib
Math Различные матиматические функции
Math.Byte Работа с байтами
Math.Random Работа со случайностями (рандомом)
Math.Time Работа со временем
String Работа со строками
System Работа со системой и различные другие функции (Пока-что только Windows!)
System.Console Работа с консолью
System.Tick Работа с тиками и потоком (тут есть ограничения по DeltaTime)
System.HDC Работа с HDC рисованием
System.Native Работа с Native кодом, загрузка DLL файлов и т.д
System.Native.Windows Функции из kernel32.dll, user32.dll, gdi32.dll, msimg32.dll
Input.Mouse Работа с мышью
Input.Keyboard Работа с клавиатурой
Explorer.File Работа с файлами
Explorer.Folder Работа с папками
Explorer.Temp Работа с временными файлами

Больше информации

WoowzLib

</div> <details><summary>Смотреть...</summary>

Прежде чем работать с WoowzLib, его нужно запустить, вот пример кода:

public static int Main(string[] Args){
	try{
		WL.WoowzLib.Start(new WoowzLibInfo( // WoowzLibInfo — это информация об проекте, она не обязательная, пока-что используется только для отладки и для Vulkan
			Name         : "New Project", // Название проекта
			Version      : 0,             // Версия проекта
			Engine       : "WoowzLib",    // Движок проекта
			EngineVersion: 0,             // Версия движка проекта
			Author       : "Anonymous",   // Автор проекта
			License      : "MIT"          // Лицензия проекта
		));
		
		// Тут сам код, уже можно писать
		
	}catch(Exception e){
		Logger.Fatal("Произошла фатальная ошибка внутри самого приложения!", e);
		return 1;
	}
	
	return 0;
}

Останавливать WoowzLib не нужно, он сам остановится после закрытия приложения, если вызвать несколько раз WL.WoowzLib.Start, будет ошибка

Доступ к модулям происходит через префикс WL., к примеру для Math будет WL.Math

Публичные функции и переменные начинающиеся на __ используйте если разбираетесь в том что делаете, это функции библиотеки (их вызов и изменение может всё сломать!)

Так же есть ивенты, на остановку, или запуск, и т.д

Если что переделывает сообщения в консоли на свой формат, лучше выводить сообщения в консоли так:

/*
Выводит сообщения в консоль
Info  - Информационное сообщение, белого цвета
Warn  - Предупреждение, жёлтого цвета
Error - Ошибка, красного цвета,
Fatal - Фатальная ошибка, пурпурного цвета
Debug - Отладочное сообщение, зелёного цвета

Сами по себе функции ничего полезного не дают, только префикс в начале, типо [INFO]

Что-бы были цвета и к примеру timestamp каждое сообщение и другая информация, нужно установить WoowzLib.Logger (https://github.com/Woowz11/WoowzLib/blob/main/WoowzLib.Logger/README.md)
*/

Logger.Info ("INFO");
Logger.Warn ("WARN", true, false, null);
Logger.Error("ERROR", new Exception("Пример ошибки"));
Logger.Fatal("FATAL", "Another string", 320);
Logger.Debug("DEBUG", new Vector2F(120, -120));

</details> <div align="center">

Math

</div> <details><summary>Смотреть...</summary>

Содержит обычные математические формулы, начиная с простых, заканчивая сложными

Max, Clamp, Lerp, Sign, MulExact, Root, Truncate, Above, Average, DSin, IsNear, Fma, Evan и т.д

По дефолту он работает с float значениями, если нужны определённые значения, то в конце функции надо добавить:

Тип значения Буква
double D
int I
byte B
uint U

Содержит комментарии с информацией об формулах и результатах

Так же он добавляет собственные Vector, Color, Rect, Massive, они все struct

Они генерируются через GeneratorWoowzLib, для уменьшение человеческого фактора

Есть 2, 3, 4 и float, double, int, uint вектора

Есть float, double, int, byte цвета

Есть float, double, int Rect

Массивы в разработке

Есть byte, char, double, float, int, long, short, uint, ulong, ushort, <T> массивы

</details> <div align="center">

Math.Byte

</div> <details><summary>Смотреть...</summary>

Можно объеденять байты в число и наоборот, разбор цветов uint, определение размера и т.д

</details> <div align="center">

Math.Random

</div> <details><summary>Смотреть...</summary>

Получение случайных чисел разными методами, есть и быстрые варианты, и качественные (WIP)

</details> <div align="center">

Math.Time

</div> <details><summary>Смотреть...</summary>

Можно узнать текущее время, год, месяц, неделя, день, час, минута, секунда, миллисекунда, сколько программа кадров существует, или секунд и т.д

</details> <div align="center">

String

</div> <details><summary>Смотреть...</summary>

Содержит функции связанные со строками

Объеденение строк по различным формулам, форматирование и т.д

</details> <div align="center">

System

</div> <details><summary>Смотреть...</summary>

Можно узнать папку в которой запущено приложение, тип приложения, тип ОС

</details> <div align="center">

System.Console

</div> <details><summary>Смотреть...</summary>

Поменять название консоли, кодировка, видимость

</details> <div align="center">

System.Tick

</div> <details><summary>Смотреть...</summary>

Позволяет ограничивать поток, к примеру:

while(...){
	// Главное что-бы был уникальный ID у функции (это где цифра 1), нужно для работы
	WL.System.Tick.LimitFPS(1, 300, TD => {
		// Это будет вызываться как при 300 FPS, TD содержит в себе DeltaTime и другую информацию
	});
	
	// Это будет вызываться каждый раз
}

Конветрация FPS в DeltaTime и наоборот, или высчитывать сколько прошло времени через Start и Stop

</details> <div align="center">

System.HDC

</div> <details><summary>Смотреть...</summary>

Рисование через HDC GDI Windows

Создание кистей, заполнение области, рисование изображений, текста, обрезка

</details> <div align="center">

System.Native

</div> <details><summary>Смотреть...</summary>

Работа с Native

Загрузка и разгрузка DLL файлов

Получение функций из DLL файлов и делегация, сохранение данных в памяти, и освобождение

</details> <div align="center">

System.Native.Windows

</div> <details><summary>Смотреть...</summary>

Большая часть функций из DLL kernel32.dll, user32.dll, gdi32.dll, msimg32.dll

</details> <div align="center">

Input.Mouse

</div> <details><summary>Смотреть...</summary>

Пока-что можно только получить позицию мыши

</details> <div align="center">

Input.Keyboard

</div> <details><summary>Смотреть...</summary>

Узнать какие клавиши сейчас нажимаются

WL.Input.Keyboard.OnDown += (Key, Code) => {
	Logger.Info("DOWN", Key, Code);
};

WL.Input.Keyboard.OnUp += (Key, Code) => {
	Logger.Info("UP", Key, Code);
};

</details> <div align="center">

Explorer.File

</div> <details><summary>Смотреть...</summary>

Взаимодействие с файлами

</details> <div align="center">

Explorer.Folder

</div> <details><summary>Смотреть...</summary>

Взаимодействие с папками

</details> <div align="center">

Explorer.Temp

</div> <details><summary>Смотреть...</summary>

Взаимодействие с временными файлами

</details>

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net8.0

    • No dependencies.

NuGet packages (3)

Showing the top 3 NuGet packages that depend on Woowz11.WoowzLib:

Package Downloads
Woowz11.WoowzLib.Logger

Default WoowzLib Logger

Woowz11.WoowzLib.Parser

WoowzLib File Parser

Woowz11.WoowzLib.Window

WinAPI Windows

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.0.4.44 150 2/11/2026
0.0.3 189 2/9/2026
0.0.2 145 2/8/2026
0.0.1 131 2/8/2026
0.0.0 128 2/8/2026