CrowRx.Core
1.0.6
dotnet add package CrowRx.Core --version 1.0.6
NuGet\Install-Package CrowRx.Core -Version 1.0.6
<PackageReference Include="CrowRx.Core" Version="1.0.6" />
<PackageVersion Include="CrowRx.Core" Version="1.0.6" />
<PackageReference Include="CrowRx.Core" />
paket add CrowRx.Core --version 1.0.6
#r "nuget: CrowRx.Core, 1.0.6"
#:package CrowRx.Core@1.0.6
#addin nuget:?package=CrowRx.Core&version=1.0.6
#tool nuget:?package=CrowRx.Core&version=1.0.6
CrowRx.Core
The foundational core library for the CrowRx ecosystem, providing high-performance utilities, extension methods, and a flexible type conversion system.
API Reference
1. Logging System (Log Static Class)
A conditional logging system that supports custom logger injection and build-specific log filtering.
Log.SetLogger(ILogger? logger): Injects a custom implementation ofILogger.Log.Info,Warning,Error,Assertion,Exception: Logs messages based on defined compilation symbols.
Example:
// Set a custom logger (e.g., Unity Debug)
Log.SetLogger(new UnityLogger());
Log.Info("System initialized.");
Log.Error("Failed to load data.");
Compilation Symbols:
CROWRX_LOG_INFO, CROWRX_LOG_WARNING, CROWRX_LOG_ERROR, CROWRX_LOG_ASSERT, CROWRX_LOG_EXCEPTION, CROWRX_LOG_ALL, UNITY_EDITOR
2. Enum Extensions (EnumExtension Static Class)
High-performance utilities for System.Enum types using unsafe operations.
ToInt<TEnum>(): Converts an enum to its integer value at O(1) speed without boxing.EqualsEnum(enum2): Compares two enums by their underlying integer values.GetAttributeOfType<T>(): Retrieves an attribute from an enum member.
Example:
enum Status { Active = 1, Inactive = 0 }
int value = Status.Active.ToInt(); // 1
bool isActive = Status.Active.EqualsEnum(OtherEnum.One);
var desc = Status.Active.GetAttributeOfType<DescriptionAttribute>();
3. Object & String Extensions (ObjectExtension Static Class)
Robust type conversion and string parsing utilities.
ConvertTo<T>(): Converts an object to typeT(supportsNullableandInvariantCulture).ParseTo<T>(): Parses a string into typeT(supports primitives,Enum, andNullable).
Example:
object raw = "123.45";
float val = raw.ConvertTo<float>(); // 123.45f
string input = "Active";
Status status = input.ParseTo<Status>(); // Status.Active
4. Value Conversion System (ValueConverter Class)
A caching-based conversion system to minimize parsing overhead for string arrays.
GatValue<T>(index): Gets and caches the parsed value (Note: method name isGatValuein source).SetValue<T>(index, value): Sets a value and updates the internal string source.
Example:
string[] data = { "100", "True", "2.5" };
var converter = new ValueConverter(data);
int id = converter.GatValue<int>(0); // 100 (parsed and cached)
bool flag = converter.GatValue<bool>(1); // True
Requirements
- Unity 6.0 or newer
- .NET 8.0 SDK (for compilation)
- .NET Standard 2.1 compatibility
Installation
Install via NuGet or NuGetForUnity.
License
This project is licensed under the MIT License.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. 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. |
| .NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.1 is compatible. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.1
- No dependencies.
NuGet packages (5)
Showing the top 5 NuGet packages that depend on CrowRx.Core:
| Package | Downloads |
|---|---|
|
CrowRx.Data
A global reactive system library for CrowRx. This package is intended for use with Unity3D 6.0 or newer only. |
|
|
CrowRx.Pool
A pooling library for CrowRx. This package is intended for use with Unity3D 6.0 or newer only. |
|
|
CrowRx.Singleton
A Singleton utility library for CrowRx. This package is intended for use with Unity3D 6.0 or newer only. |
|
|
CrowRx.Json
A json library for CrowRx. This package is intended for use with Unity3D 6.0 or newer only. |
|
|
CrowRx.SingleStream
A Single-Stream utility library for CrowRx. This package is intended for use with Unity3D 6.0 or newer only. |
GitHub repositories
This package is not used by any popular GitHub repositories.