AliLib.Analyzer
0.2.6
dotnet add package AliLib.Analyzer --version 0.2.6
NuGet\Install-Package AliLib.Analyzer -Version 0.2.6
<PackageReference Include="AliLib.Analyzer" Version="0.2.6" />
<PackageVersion Include="AliLib.Analyzer" Version="0.2.6" />
<PackageReference Include="AliLib.Analyzer" />
paket add AliLib.Analyzer --version 0.2.6
#r "nuget: AliLib.Analyzer, 0.2.6"
#:package AliLib.Analyzer@0.2.6
#addin nuget:?package=AliLib.Analyzer&version=0.2.6
#tool nuget:?package=AliLib.Analyzer&version=0.2.6
AliLib
AliLib Is a Blade & Sorcery Modding Library designed to promote easier, more modular scripted mods. (specifically spells)
Want to use AliLib? Check out the Wiki!
AliLib.Analyzer
A Roslyn Analyzer that handles semantic checks aswell as provides some functionality for AliLib build events.
AliLib.Core
The core library for AliLib, all of the non-build related content lives here.
Cloning the Repo
Due to the fact AliLib uses Blade & Sorcery assemblies the best way to work with the project is to clone it into Blade & Sorcery/BladeAndSorcery_Data/StreamingAssets.
Features
For a full list of features, check the Wiki.
MSBuild Integration
<PropertyGroup>
<ModPath>$(ProjectDir)..\..\Mods\AliLibTest</ModPath>
</PropertyGroup>
Easier Addressables
[Addressable("ProjectionSorcery.GlassSpawn")]
public static AudioClip? MyClip { get; set; }
AddressableLibrary.LoadCachedAssetAsync<Texture2D>(iconAddress, (text) => matInstance.SetTexture("_Sprite", text));
Garbage Collection
// A Garbage-Collected native object (SmartObject)
SmartObject<Material> mat = renderer.material;
Exported Strings
[ExportedString("Test/MyText.txt")]
public const string MyAsset = "Hello, World!";
Mod Events
public ModEvent MyEvent { get; set; } = new ModEvent();
/// <inheritdoc />
public override void ScriptUpdate()
{
base.ScriptUpdate();
MyEvent.Invoke();
MyEvent.Cancelled = true;
if (MyClip != null && Platform.IsPCVR)
{
Debug.Log($"[AliLib] {MyClip.length}");
}
}
Learn more about Target Frameworks and .NET Standard.
-
.NETStandard 2.0
- AliLib.Core (>= 0.5.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.