From 6ca736d3c27743c5c698d6389763ad2c292e54e3 Mon Sep 17 00:00:00 2001 From: Akeit0 <90429982+Akeit0@users.noreply.github.com> Date: Sat, 14 Jun 2025 11:56:21 +0900 Subject: [PATCH] update : Lua.Unity reference v0.5 --- .../AddressableAssetSettings.asset | 19 +- .../AssetGroups/Default Local Group.asset | 10 +- .../Default Local Group.asset.meta | 2 +- ... Local Group_BundledAssetGroupSchema.asset | 2 +- ...Local Group_ContentUpdateGroupSchema.asset | 2 +- .../AddressableAssetsData/DefaultObject.asset | 2 +- .../DefaultObject.asset.meta | 2 +- .../Lua.Unity/Editor/LuacAssetEditor.cs | 98 ++++ .../Lua.Unity/Editor/LuacAssetEditor.cs.meta | 3 + .../Assets/Lua.Unity/Editor/LuacImporter.cs | 32 ++ .../Lua.Unity/Editor/LuacImporter.cs.meta | 3 + .../Assets/Lua.Unity/Editor/Resources.meta | 3 + .../Editor/{ => Resources}/LuaAssetIcon.png | Bin .../{ => Resources}/LuaAssetIcon.png.meta | 0 .../Runtime/AddressablesModuleLoader.cs | 7 +- .../Assets/Lua.Unity/Runtime/LuaAsset.cs | 7 +- .../Assets/Lua.Unity/Runtime/LuaAssetBase.cs | 10 + .../Lua.Unity/Runtime/LuaAssetBase.cs.meta | 3 + .../Lua.Unity/Runtime/LuacAsset.cs.meta | 3 + .../Runtime/ResourcesModuleLoader.cs | 12 +- .../Runtime/UnityApplicationOsEnvironment.cs | 48 ++ .../UnityApplicationOsEnvironment.cs.meta | 3 + .../Lua.Unity/Runtime/UnityStandardIO.cs | 100 ++++ .../Lua.Unity/Runtime/UnityStandardIO.cs.meta | 3 + .../Assets/Sandbox/SampleScene.unity | 2 +- src/Lua.Unity/Assets/Sandbox/Sandbox.cs | 15 +- src/Lua.Unity/Packages/manifest.json | 1 + .../InstalledPackages/LuaCSharp.0.3.1.meta | 8 - .../LuaCSharp.0.3.1/.signature.p7s | Bin 12925 -> 0 bytes .../LuaCSharp.0.3.1/Icon.png | Bin 35624 -> 0 bytes .../LuaCSharp.0.3.1/Icon.png.meta | 169 ------ .../LuaCSharp.0.3.1/LuaCSharp.nuspec | 24 - .../LuaCSharp.0.3.1/LuaCSharp.nuspec.meta | 7 - .../LuaCSharp.0.3.1/README.md | 519 ------------------ .../LuaCSharp.0.3.1/README.md.meta | 7 - .../LuaCSharp.0.3.1/analyzers.meta | 8 - .../LuaCSharp.0.3.1/analyzers/dotnet.meta | 8 - .../LuaCSharp.0.3.1/analyzers/dotnet/cs.meta | 8 - .../dotnet/cs/Lua.SourceGenerator.dll | Bin 35840 -> 0 bytes .../dotnet/cs/Lua.SourceGenerator.dll.meta | 51 -- .../LuaCSharp.0.3.1/lib.meta | 8 - .../LuaCSharp.0.3.1/lib/netstandard2.1.meta | 8 - .../lib/netstandard2.1/Lua.dll | Bin 286720 -> 0 bytes .../lib/netstandard2.1/Lua.dll.meta | 29 - .../Packages/nuget-packages/packages.config | 5 +- src/Lua.Unity/Packages/packages-lock.json | 6 + .../ProjectSettings/EditorBuildSettings.asset | 2 +- 47 files changed, 368 insertions(+), 891 deletions(-) create mode 100644 src/Lua.Unity/Assets/Lua.Unity/Editor/LuacAssetEditor.cs create mode 100644 src/Lua.Unity/Assets/Lua.Unity/Editor/LuacAssetEditor.cs.meta create mode 100644 src/Lua.Unity/Assets/Lua.Unity/Editor/LuacImporter.cs create mode 100644 src/Lua.Unity/Assets/Lua.Unity/Editor/LuacImporter.cs.meta create mode 100644 src/Lua.Unity/Assets/Lua.Unity/Editor/Resources.meta rename src/Lua.Unity/Assets/Lua.Unity/Editor/{ => Resources}/LuaAssetIcon.png (100%) rename src/Lua.Unity/Assets/Lua.Unity/Editor/{ => Resources}/LuaAssetIcon.png.meta (100%) create mode 100644 src/Lua.Unity/Assets/Lua.Unity/Runtime/LuaAssetBase.cs create mode 100644 src/Lua.Unity/Assets/Lua.Unity/Runtime/LuaAssetBase.cs.meta create mode 100644 src/Lua.Unity/Assets/Lua.Unity/Runtime/LuacAsset.cs.meta create mode 100644 src/Lua.Unity/Assets/Lua.Unity/Runtime/UnityApplicationOsEnvironment.cs create mode 100644 src/Lua.Unity/Assets/Lua.Unity/Runtime/UnityApplicationOsEnvironment.cs.meta create mode 100644 src/Lua.Unity/Assets/Lua.Unity/Runtime/UnityStandardIO.cs create mode 100644 src/Lua.Unity/Assets/Lua.Unity/Runtime/UnityStandardIO.cs.meta delete mode 100644 src/Lua.Unity/Packages/nuget-packages/InstalledPackages/LuaCSharp.0.3.1.meta delete mode 100644 src/Lua.Unity/Packages/nuget-packages/InstalledPackages/LuaCSharp.0.3.1/.signature.p7s delete mode 100644 src/Lua.Unity/Packages/nuget-packages/InstalledPackages/LuaCSharp.0.3.1/Icon.png delete mode 100644 src/Lua.Unity/Packages/nuget-packages/InstalledPackages/LuaCSharp.0.3.1/Icon.png.meta delete mode 100644 src/Lua.Unity/Packages/nuget-packages/InstalledPackages/LuaCSharp.0.3.1/LuaCSharp.nuspec delete mode 100644 src/Lua.Unity/Packages/nuget-packages/InstalledPackages/LuaCSharp.0.3.1/LuaCSharp.nuspec.meta delete mode 100644 src/Lua.Unity/Packages/nuget-packages/InstalledPackages/LuaCSharp.0.3.1/README.md delete mode 100644 src/Lua.Unity/Packages/nuget-packages/InstalledPackages/LuaCSharp.0.3.1/README.md.meta delete mode 100644 src/Lua.Unity/Packages/nuget-packages/InstalledPackages/LuaCSharp.0.3.1/analyzers.meta delete mode 100644 src/Lua.Unity/Packages/nuget-packages/InstalledPackages/LuaCSharp.0.3.1/analyzers/dotnet.meta delete mode 100644 src/Lua.Unity/Packages/nuget-packages/InstalledPackages/LuaCSharp.0.3.1/analyzers/dotnet/cs.meta delete mode 100644 src/Lua.Unity/Packages/nuget-packages/InstalledPackages/LuaCSharp.0.3.1/analyzers/dotnet/cs/Lua.SourceGenerator.dll delete mode 100644 src/Lua.Unity/Packages/nuget-packages/InstalledPackages/LuaCSharp.0.3.1/analyzers/dotnet/cs/Lua.SourceGenerator.dll.meta delete mode 100644 src/Lua.Unity/Packages/nuget-packages/InstalledPackages/LuaCSharp.0.3.1/lib.meta delete mode 100644 src/Lua.Unity/Packages/nuget-packages/InstalledPackages/LuaCSharp.0.3.1/lib/netstandard2.1.meta delete mode 100644 src/Lua.Unity/Packages/nuget-packages/InstalledPackages/LuaCSharp.0.3.1/lib/netstandard2.1/Lua.dll delete mode 100644 src/Lua.Unity/Packages/nuget-packages/InstalledPackages/LuaCSharp.0.3.1/lib/netstandard2.1/Lua.dll.meta diff --git a/src/Lua.Unity/Assets/AddressableAssetsData/AddressableAssetSettings.asset b/src/Lua.Unity/Assets/AddressableAssetsData/AddressableAssetSettings.asset index 43ab1777..7f1b0391 100644 --- a/src/Lua.Unity/Assets/AddressableAssetsData/AddressableAssetSettings.asset +++ b/src/Lua.Unity/Assets/AddressableAssetsData/AddressableAssetSettings.asset @@ -12,10 +12,10 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 468a46d0ae32c3544b7d98094e6448a9, type: 3} m_Name: AddressableAssetSettings m_EditorClassIdentifier: - m_DefaultGroup: 2a0e06d9ccf214f8fa1ca5d1510af7d2 + m_DefaultGroup: d88070ff273c67a47aa61b1ac322925e m_currentHash: serializedVersion: 2 - Hash: 00000000000000000000000000000000 + Hash: 0541ae50fa90e8e78e8bf32544e171fd m_OptimizeCatalogSize: 0 m_BuildRemoteCatalog: 0 m_CatalogRequestsTimeout: 0 @@ -24,11 +24,11 @@ MonoBehaviour: m_InternalBundleIdMode: 1 m_AssetLoadMode: 0 m_BundledAssetProviderType: - m_AssemblyName: - m_ClassName: + m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.BundledAssetProvider m_AssetBundleProviderType: - m_AssemblyName: - m_ClassName: + m_AssemblyName: Unity.ResourceManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null + m_ClassName: UnityEngine.ResourceManagement.ResourceProviders.AssetBundleProvider m_IgnoreUnsupportedFilesInBuild: 0 m_UniqueBundleIds: 0 m_EnableJsonCatalog: 0 @@ -60,6 +60,7 @@ MonoBehaviour: m_overridePlayerVersion: '[UnityEditor.PlayerSettings.bundleVersion]' m_GroupAssets: - {fileID: 11400000, guid: 30f1ec4a0d3c9473d9b32a1b02474847, type: 2} + - {fileID: 11400000, guid: 1561a30b342064fa4896f0bfbf686fcb, type: 2} m_BuildSettings: m_LogResourceManagerExceptions: 1 m_BundleBuildPath: Temp/com.unity.addressables/AssetBundles @@ -108,7 +109,7 @@ MonoBehaviour: m_ClassName: m_ActivePlayerDataBuilderIndex: 2 m_DataBuilders: - - {fileID: 11400000, guid: d6921a29df7234327863bccd63d917f6, type: 2} - - {fileID: 11400000, guid: 703d4c54c8176478e87c027f44a5424e, type: 2} - - {fileID: 11400000, guid: 276c7bc6c400449ed930dde9a70d1e70, type: 2} + - {fileID: 11400000, guid: 0618f16a59fed47c1933ae8dde25092a, type: 2} + - {fileID: 11400000, guid: e4575ed4ef1a746ccb1d0fba41ecd093, type: 2} + - {fileID: 11400000, guid: 5f12744ea547f4fe8b261b427250778b, type: 2} m_ActiveProfileId: 1d0a56529a3514cf1aebb59dc61a2305 diff --git a/src/Lua.Unity/Assets/AddressableAssetsData/AssetGroups/Default Local Group.asset b/src/Lua.Unity/Assets/AddressableAssetsData/AssetGroups/Default Local Group.asset index a2d46b31..76e26e44 100644 --- a/src/Lua.Unity/Assets/AddressableAssetsData/AssetGroups/Default Local Group.asset +++ b/src/Lua.Unity/Assets/AddressableAssetsData/AssetGroups/Default Local Group.asset @@ -13,16 +13,16 @@ MonoBehaviour: m_Name: Default Local Group m_EditorClassIdentifier: m_GroupName: Default Local Group - m_GUID: 2a0e06d9ccf214f8fa1ca5d1510af7d2 + m_GUID: d88070ff273c67a47aa61b1ac322925e m_SerializeEntries: - - m_GUID: c611eb631438746b991def52ebe74776 + - m_GUID: 16a50852a63da4d0d9221dcb9b74c48c m_Address: bar m_ReadOnly: 0 m_SerializedLabels: [] FlaggedDuringContentUpdateRestriction: 0 m_ReadOnly: 0 - m_Settings: {fileID: 11400000, guid: f1d773be05107486d85b5a324c1c2fb0, type: 2} + m_Settings: {fileID: 11400000, guid: a0f4200005a8343fa9cfda7e23be8a93, type: 2} m_SchemaSet: m_Schemas: - - {fileID: 11400000, guid: 1476390b038364f2f800595d61171b27, type: 2} - - {fileID: 11400000, guid: 7ebbf8a9fd56642d283eb1ef4c8ccf85, type: 2} + - {fileID: 11400000, guid: a90139adc8865497d8309c82638492b0, type: 2} + - {fileID: 11400000, guid: f83e7898558224636ac47d66c1d5f91d, type: 2} diff --git a/src/Lua.Unity/Assets/AddressableAssetsData/AssetGroups/Default Local Group.asset.meta b/src/Lua.Unity/Assets/AddressableAssetsData/AssetGroups/Default Local Group.asset.meta index 22b6929d..3467d861 100644 --- a/src/Lua.Unity/Assets/AddressableAssetsData/AssetGroups/Default Local Group.asset.meta +++ b/src/Lua.Unity/Assets/AddressableAssetsData/AssetGroups/Default Local Group.asset.meta @@ -2,7 +2,7 @@ fileFormatVersion: 2 guid: 1561a30b342064fa4896f0bfbf686fcb NativeFormatImporter: externalObjects: {} - mainObjectFileID: 0 + mainObjectFileID: 11400000 userData: assetBundleName: assetBundleVariant: diff --git a/src/Lua.Unity/Assets/AddressableAssetsData/AssetGroups/Schemas/Default Local Group_BundledAssetGroupSchema.asset b/src/Lua.Unity/Assets/AddressableAssetsData/AssetGroups/Schemas/Default Local Group_BundledAssetGroupSchema.asset index 751d5144..633910b9 100644 --- a/src/Lua.Unity/Assets/AddressableAssetsData/AssetGroups/Schemas/Default Local Group_BundledAssetGroupSchema.asset +++ b/src/Lua.Unity/Assets/AddressableAssetsData/AssetGroups/Schemas/Default Local Group_BundledAssetGroupSchema.asset @@ -12,7 +12,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: e5d17a21594effb4e9591490b009e7aa, type: 3} m_Name: Default Local Group_BundledAssetGroupSchema m_EditorClassIdentifier: - m_Group: {fileID: 11400000, guid: 30f1ec4a0d3c9473d9b32a1b02474847, type: 2} + m_Group: {fileID: 11400000, guid: 1561a30b342064fa4896f0bfbf686fcb, type: 2} m_InternalBundleIdMode: 1 m_Compression: 1 m_IncludeAddressInCatalog: 1 diff --git a/src/Lua.Unity/Assets/AddressableAssetsData/AssetGroups/Schemas/Default Local Group_ContentUpdateGroupSchema.asset b/src/Lua.Unity/Assets/AddressableAssetsData/AssetGroups/Schemas/Default Local Group_ContentUpdateGroupSchema.asset index 456d2bd9..dcf8e40f 100644 --- a/src/Lua.Unity/Assets/AddressableAssetsData/AssetGroups/Schemas/Default Local Group_ContentUpdateGroupSchema.asset +++ b/src/Lua.Unity/Assets/AddressableAssetsData/AssetGroups/Schemas/Default Local Group_ContentUpdateGroupSchema.asset @@ -12,5 +12,5 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 5834b5087d578d24c926ce20cd31e6d6, type: 3} m_Name: Default Local Group_ContentUpdateGroupSchema m_EditorClassIdentifier: - m_Group: {fileID: 11400000, guid: 30f1ec4a0d3c9473d9b32a1b02474847, type: 2} + m_Group: {fileID: 11400000, guid: 1561a30b342064fa4896f0bfbf686fcb, type: 2} m_StaticContent: 0 diff --git a/src/Lua.Unity/Assets/AddressableAssetsData/DefaultObject.asset b/src/Lua.Unity/Assets/AddressableAssetsData/DefaultObject.asset index 73b3da48..be0f83c8 100644 --- a/src/Lua.Unity/Assets/AddressableAssetsData/DefaultObject.asset +++ b/src/Lua.Unity/Assets/AddressableAssetsData/DefaultObject.asset @@ -12,4 +12,4 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 3a189bb168d8d90478a09ea08c2f3d72, type: 3} m_Name: DefaultObject m_EditorClassIdentifier: - m_AddressableAssetSettingsGuid: f1d773be05107486d85b5a324c1c2fb0 + m_AddressableAssetSettingsGuid: a0f4200005a8343fa9cfda7e23be8a93 diff --git a/src/Lua.Unity/Assets/AddressableAssetsData/DefaultObject.asset.meta b/src/Lua.Unity/Assets/AddressableAssetsData/DefaultObject.asset.meta index 9a8c6b05..169c5367 100644 --- a/src/Lua.Unity/Assets/AddressableAssetsData/DefaultObject.asset.meta +++ b/src/Lua.Unity/Assets/AddressableAssetsData/DefaultObject.asset.meta @@ -2,7 +2,7 @@ fileFormatVersion: 2 guid: abb3d975b60334895afa04bc9ef91e68 NativeFormatImporter: externalObjects: {} - mainObjectFileID: 0 + mainObjectFileID: 11400000 userData: assetBundleName: assetBundleVariant: diff --git a/src/Lua.Unity/Assets/Lua.Unity/Editor/LuacAssetEditor.cs b/src/Lua.Unity/Assets/Lua.Unity/Editor/LuacAssetEditor.cs new file mode 100644 index 00000000..dc60ed4c --- /dev/null +++ b/src/Lua.Unity/Assets/Lua.Unity/Editor/LuacAssetEditor.cs @@ -0,0 +1,98 @@ +using Lua.CodeAnalysis.Compilation; +using Lua.Runtime; +using System; +using System.Text; +using System.Text.RegularExpressions; +using UnityEditor; + +namespace Lua.Unity.Editor +{ + [CustomEditor(typeof(LuacAsset))] + public sealed class LuacAssetEditor : UnityEditor.Editor + { + LuacAsset asset; + static StringBuilder sb = new StringBuilder(); + private byte[] bytes; + string prototypeCacheString; + + public override void OnInspectorGUI() + { + if (asset == null) asset = (LuacAsset)serializedObject.targetObject; + if (bytes == null || !asset.bytes.AsSpan().SequenceEqual(bytes)) + { + var prototype = LuaCompiler.UnDump(asset.bytes.AsSpan(), asset.name); + if (sb == null) + sb = new StringBuilder(); + sb.Clear(); + DebugChunk(sb, prototype, 0, 0); + prototypeCacheString = sb.ToString(); + bytes = asset.bytes; + } + + using (new EditorGUI.IndentLevelScope(-1)) + { + EditorGUILayout.TextArea(prototypeCacheString); + } + } + + static void DebugChunk(StringBuilder builder, Prototype chunk, int nestCount, int id) + { + void AppendLine(string line) + { + for (int i = 0; i < nestCount; i++) + { + builder.Append(" "); + } + + builder.AppendLine(line); + } + + if (nestCount == 0) + AppendLine($"Chunk :{chunk.ChunkName}"); + else AppendLine("[" + nestCount + "," + id + "]"); + AppendLine($"Parameters:{chunk.ParameterCount}"); + + AppendLine("Code -------------------------------------"); + var index = 0; + foreach (var inst in chunk.Code) + { + AppendLine($"[{index}]\t{chunk.LineInfo[index]}\t\t{inst}"); + index++; + } + + AppendLine("LocalVariables ---------------------------"); + index = 0; + foreach (var local in chunk.LocalVariables) + { + AppendLine($"[{index}]\t{local.Name}\t{local.StartPc}\t{local.EndPc}"); + index++; + } + + AppendLine("Constants ---------------------------------"); + index = 0; + foreach (var constant in chunk.Constants.ToArray()) + { + AppendLine($"[{index}]\t{Regex.Escape(constant.ToString())}"); + index++; + } + + AppendLine("UpValues -----------------------------------"); + index = 0; + foreach (var upValue in chunk.UpValues.ToArray()) + { + AppendLine($"[{index}]\t{upValue.Name}\t{(upValue.IsLocal ? 1 : 0)}\t{upValue.Index}"); + index++; + } + + builder.AppendLine(); + + var chunkId = 0; + + foreach (var localChunk in chunk.ChildPrototypes) + { + DebugChunk(builder, localChunk, nestCount + 1, chunkId); + chunkId++; + } + } + } +} \ No newline at end of file diff --git a/src/Lua.Unity/Assets/Lua.Unity/Editor/LuacAssetEditor.cs.meta b/src/Lua.Unity/Assets/Lua.Unity/Editor/LuacAssetEditor.cs.meta new file mode 100644 index 00000000..ff1aea7e --- /dev/null +++ b/src/Lua.Unity/Assets/Lua.Unity/Editor/LuacAssetEditor.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 7cb5a3afb8f64363995fb96ba5587c8f +timeCreated: 1749868556 \ No newline at end of file diff --git a/src/Lua.Unity/Assets/Lua.Unity/Editor/LuacImporter.cs b/src/Lua.Unity/Assets/Lua.Unity/Editor/LuacImporter.cs new file mode 100644 index 00000000..91cb3534 --- /dev/null +++ b/src/Lua.Unity/Assets/Lua.Unity/Editor/LuacImporter.cs @@ -0,0 +1,32 @@ +using System.IO; +using System.Runtime.CompilerServices; +using UnityEditor; +using UnityEditor.AssetImporters; +using UnityEngine; + +namespace Lua.Unity.Editor +{ + [ScriptedImporter(1, "luac")] + public sealed class LuacImporter : ScriptedImporter + { + static Texture2D icon; + public override void OnImportAsset(AssetImportContext ctx) + { + var bytes = File.ReadAllBytes(ctx.assetPath); + var asset = ScriptableObject.CreateInstance(); + if (icon == null) + { + icon = Resources.Load("LuaAssetIcon"); + if (icon == null) + { + Debug.LogWarning("LuaAssetIcon not found in Resources. Using default icon."); + icon = EditorGUIUtility.IconContent("ScriptableObject Icon").image as Texture2D; + } + } + EditorGUIUtility.SetIconForObject (asset,icon ); + asset.bytes = bytes; + ctx.AddObjectToAsset("Main", asset); + ctx.SetMainObject(asset); + } + } +} \ No newline at end of file diff --git a/src/Lua.Unity/Assets/Lua.Unity/Editor/LuacImporter.cs.meta b/src/Lua.Unity/Assets/Lua.Unity/Editor/LuacImporter.cs.meta new file mode 100644 index 00000000..ef867930 --- /dev/null +++ b/src/Lua.Unity/Assets/Lua.Unity/Editor/LuacImporter.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: d8f9fbd84f8449649b27628ba85a3217 +timeCreated: 1749868371 \ No newline at end of file diff --git a/src/Lua.Unity/Assets/Lua.Unity/Editor/Resources.meta b/src/Lua.Unity/Assets/Lua.Unity/Editor/Resources.meta new file mode 100644 index 00000000..b12f0622 --- /dev/null +++ b/src/Lua.Unity/Assets/Lua.Unity/Editor/Resources.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 1d9c4ac6bedc4e7d8f4d5b10742b8e85 +timeCreated: 1749868505 \ No newline at end of file diff --git a/src/Lua.Unity/Assets/Lua.Unity/Editor/LuaAssetIcon.png b/src/Lua.Unity/Assets/Lua.Unity/Editor/Resources/LuaAssetIcon.png similarity index 100% rename from src/Lua.Unity/Assets/Lua.Unity/Editor/LuaAssetIcon.png rename to src/Lua.Unity/Assets/Lua.Unity/Editor/Resources/LuaAssetIcon.png diff --git a/src/Lua.Unity/Assets/Lua.Unity/Editor/LuaAssetIcon.png.meta b/src/Lua.Unity/Assets/Lua.Unity/Editor/Resources/LuaAssetIcon.png.meta similarity index 100% rename from src/Lua.Unity/Assets/Lua.Unity/Editor/LuaAssetIcon.png.meta rename to src/Lua.Unity/Assets/Lua.Unity/Editor/Resources/LuaAssetIcon.png.meta diff --git a/src/Lua.Unity/Assets/Lua.Unity/Runtime/AddressablesModuleLoader.cs b/src/Lua.Unity/Assets/Lua.Unity/Runtime/AddressablesModuleLoader.cs index cc833494..e1f9aeda 100644 --- a/src/Lua.Unity/Assets/Lua.Unity/Runtime/AddressablesModuleLoader.cs +++ b/src/Lua.Unity/Assets/Lua.Unity/Runtime/AddressablesModuleLoader.cs @@ -12,7 +12,7 @@ namespace Lua.Unity { public sealed class AddressablesModuleLoader : ILuaModuleLoader { - readonly Dictionary cache = new(); + readonly Dictionary cache = new(); public bool Exists(string moduleName) { @@ -26,7 +26,8 @@ public async ValueTask LoadAsync(string moduleName, CancellationToken { if (cache.TryGetValue(moduleName, out var asset)) { - return new LuaModule(moduleName, asset.text); + + return asset .GetModule( moduleName); } var asyncOperation = Addressables.LoadAssetAsync(moduleName); @@ -38,7 +39,7 @@ public async ValueTask LoadAsync(string moduleName, CancellationToken } cache.Add(moduleName, asset); - return new LuaModule(moduleName, asset.text); + return asset .GetModule( moduleName); } } internal static class AsyncOperationHandleExtensions diff --git a/src/Lua.Unity/Assets/Lua.Unity/Runtime/LuaAsset.cs b/src/Lua.Unity/Assets/Lua.Unity/Runtime/LuaAsset.cs index d83f4ec2..24570603 100644 --- a/src/Lua.Unity/Assets/Lua.Unity/Runtime/LuaAsset.cs +++ b/src/Lua.Unity/Assets/Lua.Unity/Runtime/LuaAsset.cs @@ -2,9 +2,14 @@ namespace Lua.Unity { - public sealed class LuaAsset : ScriptableObject + public sealed class LuaAsset : LuaAssetBase { [SerializeField] internal string text; public string Text => text; + + public override LuaModule GetModule(string searchedName) + { + return new LuaModule(searchedName,text); + } } } \ No newline at end of file diff --git a/src/Lua.Unity/Assets/Lua.Unity/Runtime/LuaAssetBase.cs b/src/Lua.Unity/Assets/Lua.Unity/Runtime/LuaAssetBase.cs new file mode 100644 index 00000000..540835e5 --- /dev/null +++ b/src/Lua.Unity/Assets/Lua.Unity/Runtime/LuaAssetBase.cs @@ -0,0 +1,10 @@ +using UnityEngine; + +namespace Lua.Unity +{ + + public abstract class LuaAssetBase : ScriptableObject + { + public abstract LuaModule GetModule(string searchedName); + } +} \ No newline at end of file diff --git a/src/Lua.Unity/Assets/Lua.Unity/Runtime/LuaAssetBase.cs.meta b/src/Lua.Unity/Assets/Lua.Unity/Runtime/LuaAssetBase.cs.meta new file mode 100644 index 00000000..e7494dcc --- /dev/null +++ b/src/Lua.Unity/Assets/Lua.Unity/Runtime/LuaAssetBase.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 68f5e96db703412a9d5023a6874176c9 +timeCreated: 1749868448 \ No newline at end of file diff --git a/src/Lua.Unity/Assets/Lua.Unity/Runtime/LuacAsset.cs.meta b/src/Lua.Unity/Assets/Lua.Unity/Runtime/LuacAsset.cs.meta new file mode 100644 index 00000000..7d4ce94d --- /dev/null +++ b/src/Lua.Unity/Assets/Lua.Unity/Runtime/LuacAsset.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 30eb0281e6634717972999b1cd6da5ad +timeCreated: 1749868419 \ No newline at end of file diff --git a/src/Lua.Unity/Assets/Lua.Unity/Runtime/ResourcesModuleLoader.cs b/src/Lua.Unity/Assets/Lua.Unity/Runtime/ResourcesModuleLoader.cs index 438b2feb..59f7560d 100644 --- a/src/Lua.Unity/Assets/Lua.Unity/Runtime/ResourcesModuleLoader.cs +++ b/src/Lua.Unity/Assets/Lua.Unity/Runtime/ResourcesModuleLoader.cs @@ -9,13 +9,14 @@ namespace Lua.Unity { public sealed class ResourcesModuleLoader : ILuaModuleLoader { - readonly Dictionary cache = new(); + readonly Dictionary cache = new(); public bool Exists(string moduleName) { + Debug.Log(moduleName); if (cache.TryGetValue(moduleName, out _)) return true; - var asset = Resources.Load(moduleName); + var asset = Resources.Load(moduleName); if (asset == null) return false; cache.Add(moduleName, asset); @@ -26,7 +27,7 @@ public async ValueTask LoadAsync(string moduleName, CancellationToken { if (cache.TryGetValue(moduleName, out var asset)) { - return new LuaModule(moduleName, asset.text); + return asset.GetModule(moduleName); } var request = Resources.LoadAsync(moduleName); @@ -37,10 +38,9 @@ public async ValueTask LoadAsync(string moduleName, CancellationToken throw new LuaModuleNotFoundException(moduleName); } - asset = (LuaAsset)request.asset; + asset = (LuaAssetBase)request.asset; cache.Add(moduleName, asset); - return new LuaModule(moduleName, asset.text); - } + return asset.GetModule(moduleName); } } #if !UNITY_2023_1_OR_NEWER diff --git a/src/Lua.Unity/Assets/Lua.Unity/Runtime/UnityApplicationOsEnvironment.cs b/src/Lua.Unity/Assets/Lua.Unity/Runtime/UnityApplicationOsEnvironment.cs new file mode 100644 index 00000000..d3358752 --- /dev/null +++ b/src/Lua.Unity/Assets/Lua.Unity/Runtime/UnityApplicationOsEnvironment.cs @@ -0,0 +1,48 @@ +using Lua.Platforms; +using System; +using System.Collections.Generic; +using System.Threading; +using System.Threading.Tasks; +using UnityEngine; + +namespace Lua.Unity +{ + public class UnityApplicationOsEnvironment : ILuaOsEnvironment + { + public UnityApplicationOsEnvironment(Dictionary environmentVariables = null,bool allowToQuitOnExitCall = false) + { + EnvironmentVariables = environmentVariables ?? new Dictionary(); + AllowToQuitOnExitCall = allowToQuitOnExitCall; + } + + + public bool AllowToQuitOnExitCall { get; } + public Dictionary EnvironmentVariables { get; } + + public string GetEnvironmentVariable(string name) + { + if (EnvironmentVariables.TryGetValue(name, out var value)) + { + return value; + } + + return null; + } + + public ValueTask Exit(int exitCode, CancellationToken cancellationToken) + { + if (AllowToQuitOnExitCall) + { + Application.Quit(exitCode); + throw new OperationCanceledException(); + } + else + { + // If quitting is not allowed, we can just throw an exception or log a message. + throw new InvalidOperationException("Application exit is not allowed in this environment."); + } + } + + public double GetTotalProcessorTime() => Time.time; + } +} \ No newline at end of file diff --git a/src/Lua.Unity/Assets/Lua.Unity/Runtime/UnityApplicationOsEnvironment.cs.meta b/src/Lua.Unity/Assets/Lua.Unity/Runtime/UnityApplicationOsEnvironment.cs.meta new file mode 100644 index 00000000..dfb38b72 --- /dev/null +++ b/src/Lua.Unity/Assets/Lua.Unity/Runtime/UnityApplicationOsEnvironment.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 2cf920ff7f0f4cff9b392d71c4656d6e +timeCreated: 1749869194 \ No newline at end of file diff --git a/src/Lua.Unity/Assets/Lua.Unity/Runtime/UnityStandardIO.cs b/src/Lua.Unity/Assets/Lua.Unity/Runtime/UnityStandardIO.cs new file mode 100644 index 00000000..b515390a --- /dev/null +++ b/src/Lua.Unity/Assets/Lua.Unity/Runtime/UnityStandardIO.cs @@ -0,0 +1,100 @@ +using Lua.IO; +using System; +using System.Buffers.Text; +using System.IO; +using System.Text; +using System.Threading; +using System.Threading.Tasks; + +namespace Lua.Unity +{ + public class UnityStandardIO : ILuaStandardIO + { + public UnityStandardIO(ILuaStream input = null) + { + if (input != null) + { + Input = input; + } + else + { + Input = new DummyInputStream(); + } + } + + public ILuaStream Input { get; } + public ILuaStream Output { get; } = new DebugLogStream(false); + public ILuaStream Error { get; } = new DebugLogStream(true); + } + + public class DummyInputStream : ILuaStream + { + public bool IsOpen { get; } = true; + public LuaFileOpenMode Mode => LuaFileOpenMode.Read; + + public ValueTask ReadAllAsync(CancellationToken cancellationToken) + { + // Simulate reading all input from the console + UnityEngine.Debug.Log("Reading all input (simulated)"); + return new ValueTask(("input")); + } + + public ValueTask ReadLineAsync(CancellationToken cancellationToken) + { + // Simulate reading a line from the console + UnityEngine.Debug.Log("Reading a line (simulated)"); + return new ValueTask(default(string)); + } + + public ValueTask ReadStringAsync(int count, CancellationToken cancellationToken) + { + // Simulate reading a specific number of characters from the console + UnityEngine.Debug.Log($"Reading {count} characters (simulated)"); + return new ValueTask(default(string)); + } + + public void Dispose() { } + } + + public class DebugLogStream : ILuaStream + { + public DebugLogStream(bool isError = false) + { + IsError = isError; + } + + public bool IsError { get; } = false; + public bool IsOpen { get; } = true; + public LuaFileOpenMode Mode => LuaFileOpenMode.Write; + + private readonly StringBuilder stringBuilder = new(); + + ValueTask ILuaStream.WriteAsync(ReadOnlyMemory content, CancellationToken cancellationToken) + { + stringBuilder.Append(content.Span); + return default; + } + + ValueTask ILuaStream.FlushAsync(CancellationToken cancellationToken) + { + if (stringBuilder.Length > 0) + { + var message = stringBuilder.ToString(); + if (IsError) + UnityEngine.Debug.LogError(message); + else + UnityEngine.Debug.Log(message); + stringBuilder.Clear(); + } + + return default; + } + + public ValueTask Close(CancellationToken cancellationToken) + { + throw new NotSupportedException("DebugLogStream cannot be closed."); + } + + public void Dispose() { } + } +} \ No newline at end of file diff --git a/src/Lua.Unity/Assets/Lua.Unity/Runtime/UnityStandardIO.cs.meta b/src/Lua.Unity/Assets/Lua.Unity/Runtime/UnityStandardIO.cs.meta new file mode 100644 index 00000000..8f5431c9 --- /dev/null +++ b/src/Lua.Unity/Assets/Lua.Unity/Runtime/UnityStandardIO.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 8ba8000b21dc41c4a80569aa46d8a7be +timeCreated: 1749868964 \ No newline at end of file diff --git a/src/Lua.Unity/Assets/Sandbox/SampleScene.unity b/src/Lua.Unity/Assets/Sandbox/SampleScene.unity index 1974db83..2d6944ac 100644 --- a/src/Lua.Unity/Assets/Sandbox/SampleScene.unity +++ b/src/Lua.Unity/Assets/Sandbox/SampleScene.unity @@ -452,7 +452,7 @@ MonoBehaviour: m_GameObject: {fileID: 948832268} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: c59c64163ef484bb6a193121e8fc388c, type: 3} + m_Script: {fileID: 11500000, guid: 52a3185e7d5334f5e9b9e6797db6b6d8, type: 3} m_Name: m_EditorClassIdentifier: --- !u!4 &948832270 diff --git a/src/Lua.Unity/Assets/Sandbox/Sandbox.cs b/src/Lua.Unity/Assets/Sandbox/Sandbox.cs index 3c6f5115..f864418c 100644 --- a/src/Lua.Unity/Assets/Sandbox/Sandbox.cs +++ b/src/Lua.Unity/Assets/Sandbox/Sandbox.cs @@ -1,6 +1,8 @@ using System; using Lua; +using Lua.IO; using Lua.Loaders; +using Lua.Platforms; using Lua.Standard; using Lua.Unity; using UnityEngine; @@ -9,10 +11,15 @@ public class Sandbox : MonoBehaviour { async void Start() { - var state = LuaState.Create(); + var state = LuaState.Create( new LuaPlatform( + fileSystem: new FileSystem(), + osEnvironment: new UnityApplicationOsEnvironment(), + standardIO: new UnityStandardIO(), + timeProvider: TimeProvider.System + )); state.ModuleLoader = CompositeModuleLoader.Create(new AddressablesModuleLoader(), new ResourcesModuleLoader()); state.OpenStandardLibraries(); - state.Environment["print"] = new LuaFunction("print", (context, buffer, ct) => + state.Environment["print"] = new LuaFunction("print", (context, ct) => { Debug.Log(context.GetArgument(0)); return new(0); @@ -25,10 +32,10 @@ await state.DoStringAsync( print('test start') local foo = require 'foo' foo.greet() - local bar = require 'bar' bar.greet() - +require 'test' +os.exit(0) ", cancellationToken: destroyCancellationToken); } catch (Exception ex) diff --git a/src/Lua.Unity/Packages/manifest.json b/src/Lua.Unity/Packages/manifest.json index 7d0fc868..fa23bb24 100644 --- a/src/Lua.Unity/Packages/manifest.json +++ b/src/Lua.Unity/Packages/manifest.json @@ -1,6 +1,7 @@ { "dependencies": { "com.github-glitchenzo.nugetforunity": "https://github.com/GlitchEnzo/NuGetForUnity.git?path=/src/NuGetForUnity", + "com.nuskey8.lua.unity.internal": "file:../../Lua/bin/Debug/netstandard2.1", "com.unity.addressables": "2.2.2", "com.unity.ai.navigation": "2.0.4", "com.unity.collab-proxy": "2.6.0", diff --git a/src/Lua.Unity/Packages/nuget-packages/InstalledPackages/LuaCSharp.0.3.1.meta b/src/Lua.Unity/Packages/nuget-packages/InstalledPackages/LuaCSharp.0.3.1.meta deleted file mode 100644 index 545bae74..00000000 --- a/src/Lua.Unity/Packages/nuget-packages/InstalledPackages/LuaCSharp.0.3.1.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 416b07e9204db499d88a21b05d4165c9 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/src/Lua.Unity/Packages/nuget-packages/InstalledPackages/LuaCSharp.0.3.1/.signature.p7s b/src/Lua.Unity/Packages/nuget-packages/InstalledPackages/LuaCSharp.0.3.1/.signature.p7s deleted file mode 100644 index da43b7a185f73d92f0657785939b7763be356a59..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12925 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 diff --git a/src/Lua.Unity/Packages/nuget-packages/InstalledPackages/LuaCSharp.0.3.1/Icon.png.meta b/src/Lua.Unity/Packages/nuget-packages/InstalledPackages/LuaCSharp.0.3.1/Icon.png.meta deleted file mode 100644 index 9bec59b7..00000000 --- a/src/Lua.Unity/Packages/nuget-packages/InstalledPackages/LuaCSharp.0.3.1/Icon.png.meta +++ /dev/null @@ -1,169 +0,0 @@ -fileFormatVersion: 2 -guid: 306665d22a68b49868b3a2bca04fbb1a -TextureImporter: - internalIDToNameTable: [] - externalObjects: {} - serializedVersion: 13 - mipmaps: - mipMapMode: 0 - enableMipMap: 1 - sRGBTexture: 1 - linearTexture: 0 - fadeOut: 0 - borderMipMap: 0 - mipMapsPreserveCoverage: 0 - alphaTestReferenceValue: 0.5 - mipMapFadeDistanceStart: 1 - mipMapFadeDistanceEnd: 3 - bumpmap: - convertToNormalMap: 0 - externalNormalMap: 0 - heightScale: 0.25 - normalMapFilter: 0 - flipGreenChannel: 0 - isReadable: 0 - streamingMipmaps: 0 - streamingMipmapsPriority: 0 - vTOnly: 0 - ignoreMipmapLimit: 0 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: 1 - aniso: 1 - mipBias: 0 - wrapU: 0 - wrapV: 0 - wrapW: 0 - nPOTScale: 1 - lightmap: 0 - compressionQuality: 50 - spriteMode: 0 - spriteExtrude: 1 - spriteMeshType: 1 - alignment: 0 - spritePivot: {x: 0.5, y: 0.5} - spritePixelsToUnits: 100 - spriteBorder: {x: 0, y: 0, z: 0, w: 0} - spriteGenerateFallbackPhysicsShape: 1 - alphaUsage: 1 - alphaIsTransparency: 0 - spriteTessellationDetail: -1 - textureType: 0 - textureShape: 1 - singleChannelComponent: 0 - flipbookRows: 1 - flipbookColumns: 1 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - ignorePngGamma: 0 - applyGammaDecoding: 0 - swizzle: 50462976 - cookieLightType: 0 - platformSettings: - - serializedVersion: 4 - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - ignorePlatformSupport: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 4 - buildTarget: WebGL - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - ignorePlatformSupport: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 4 - buildTarget: Win64 - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - ignorePlatformSupport: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 4 - buildTarget: iOS - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - ignorePlatformSupport: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 4 - buildTarget: Standalone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - ignorePlatformSupport: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 4 - buildTarget: Android - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - ignorePlatformSupport: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - spriteSheet: - serializedVersion: 2 - sprites: [] - outline: [] - customData: - physicsShape: [] - bones: [] - spriteID: - internalID: 0 - vertices: [] - indices: - edges: [] - weights: [] - secondaryTextures: [] - spriteCustomMetadata: - entries: [] - nameFileIdTable: {} - mipmapLimitGroupName: - pSDRemoveMatte: 0 - userData: - assetBundleName: - assetBundleVariant: diff --git a/src/Lua.Unity/Packages/nuget-packages/InstalledPackages/LuaCSharp.0.3.1/LuaCSharp.nuspec b/src/Lua.Unity/Packages/nuget-packages/InstalledPackages/LuaCSharp.0.3.1/LuaCSharp.nuspec deleted file mode 100644 index 43e75ddd..00000000 --- a/src/Lua.Unity/Packages/nuget-packages/InstalledPackages/LuaCSharp.0.3.1/LuaCSharp.nuspec +++ /dev/null @@ -1,24 +0,0 @@ - - - - LuaCSharp - 0.3.1 - Annulus Games - MIT - https://licenses.nuget.org/MIT - Icon.png - README.md - https://github.com/AnnulusGames/Lua-CSharp - High performance Lua interpreter implemented in C# for .NET and Unity - © Annulus Games - lua interpreter - - - - - - - - - - \ No newline at end of file diff --git a/src/Lua.Unity/Packages/nuget-packages/InstalledPackages/LuaCSharp.0.3.1/LuaCSharp.nuspec.meta b/src/Lua.Unity/Packages/nuget-packages/InstalledPackages/LuaCSharp.0.3.1/LuaCSharp.nuspec.meta deleted file mode 100644 index adf12c90..00000000 --- a/src/Lua.Unity/Packages/nuget-packages/InstalledPackages/LuaCSharp.0.3.1/LuaCSharp.nuspec.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 9852f8b1690074e67a6420f320832008 -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/src/Lua.Unity/Packages/nuget-packages/InstalledPackages/LuaCSharp.0.3.1/README.md b/src/Lua.Unity/Packages/nuget-packages/InstalledPackages/LuaCSharp.0.3.1/README.md deleted file mode 100644 index 72dfba95..00000000 --- a/src/Lua.Unity/Packages/nuget-packages/InstalledPackages/LuaCSharp.0.3.1/README.md +++ /dev/null @@ -1,519 +0,0 @@ -# Lua-CSharp - -High performance Lua interpreter implemented in C# for .NET and Unity - -![img](docs/Header.png) - -[![NuGet](https://img.shields.io/nuget/v/LuaCSharp.svg)](https://www.nuget.org/packages/LuaCSharp) -[![Releases](https://img.shields.io/github/release/AnnulusGames/Lua-CSharp.svg)](https://github.com/AnnulusGames/Lua-CSharp/releases) -[![license](https://img.shields.io/badge/LICENSE-MIT-green.svg)](LICENSE) - -English | [日本語](README_JA.md) - -## Overview - -Lua-CSharp is a library that provides a Lua interpreter implemented in C#. By integrating Lua-CSharp, you can easily embed Lua scripts into your .NET applications. - -Lua-CSharp leverages the latest C# features, designed with low allocation and high performance in mind. It is optimized to deliver maximum performance when used for interoperation between C# and Lua in C# applications. Below is a benchmark comparison with [MoonSharp](https://github.com/moonsharp-devs/moonsharp/) and [NLua](https://github.com/NLua/NLua): - -![img](docs/Benchmark.png) - -MoonSharp generally provides good speed but incurs significant allocations due to its design. NLua, being a C-binding implementation, is fast, but introduces substantial overhead when interacting with the C# layer. Lua-CSharp, fully implemented in C#, allows for seamless interaction with C# code without additional overhead. Moreover, it operates reliably in AOT environments since it does not rely on IL generation. - -## Features - -* Lua 5.2 interpreter implemented in C# -* Easy-to-use API integrated with async/await -* Support for exception handling with try-catch -* High-performance implementation utilizing modern C# -* Unity support (works with both Mono and IL2CPP) - -## Installation - -### NuGet packages - -To use Lua-CSharp, .NET Standard 2.1 or higher is required. The package can be obtained from NuGet. - -### .NET CLI - -```ps1 -dotnet add package LuaCSharp -``` - -### Package Manager - -```ps1 -Install-Package LuaCSharp -``` - -### Unity - -Lua-CSharp can also be used in Unity (works with both Mono and IL2CPP). - -### Requirements - -* Unity 2021.3 or higher - -### Installation - -1. Install [NugetForUnity](https://github.com/GlitchEnzo/NuGetForUnity). -2. Open the NuGet window by going to `NuGet > Manage NuGet Packages`, search for the `LuaCSharp` package, and install it. - -## Quick Start - -By using the `LuaState` class, you can execute Lua scripts from C#. Below is a sample code that evaluates a simple calculation written in Lua. - -```cs -using Lua; - -// Create a LuaState -var state = LuaState.Create(); - -// Execute a Lua script string with DoStringAsync -var results = await state.DoStringAsync("return 1 + 1"); - -// 2 -Console.WriteLine(results[0]); -``` - -> [!WARNING] -> `LuaState` is not thread-safe. Do not access it from multiple threads simultaneously. - -## LuaValue - -Values in Lua scripts are represented by the `LuaValue` type. The value of a `LuaValue` can be read using `TryRead(out T value)` or `Read()`. - -```cs -var results = await state.DoStringAsync("return 1 + 1"); - -// double -var value = results[0].Read(); -``` - -You can also get the type of the value from the `Type` property. - -```cs -var isNil = results[0].Type == LuaValueType.Nil; -``` - -Below is a table showing the type mapping between Lua and C#. - -| Lua | C# | -| ---------- | ----------------- | -| `nil` | `LuaValue.Nil` | -| `boolean` | `bool` | -| `string` | `string` | -| `number` | `double`, `float` | -| `table` | `LuaTable` | -| `function` | `LuaFunction` | -| `userdata` | `LuaUserData` | -| `thread` | `LuaThread` | - -When creating a `LuaValue` from the C# side, compatible types are implicitly converted into `LuaValue`. - -```cs -LuaValue value; -value = 1.2; // double -> LuaValue -value = "foo"; // string -> LuaValue -value = new LuaTable() // LuaTable -> LuaValue -``` - -## LuaTable - -Lua tables are represented by the `LuaTable` type. They can be used similarly to `LuaValue[]` or `Dictionary`. - -```cs -// Create a table in Lua -var results = await state.DoStringAsync("return { a = 1, b = 2, c = 3 }"); -var table1 = results[0].Read(); - -// 1 -Console.WriteLine(table1["a"]); - -// Create a table in C# -results = await state.DoStringAsync("return { 1, 2, 3 }"); -var table2 = results[0].Read(); - -// 1 (Note: Lua arrays are 1-indexed) -Console.WriteLine(table2[1]); -``` - -## Global Environment - -You can access Lua's global environment through `state.Environment`. This table allows for easy value exchange between Lua and C#. - -```cs -// Set a = 10 -state.Environment["a"] = 10; - -var results = await state.DoStringAsync("return a"); - -// 10 -Console.WriteLine(results[0]); -``` - -## Standard Libraries - -You can use Lua's standard libraries as well. By calling `state.OpenStandardLibraries()`, the standard library tables are added to the `LuaState`. - -```cs -using Lua; -using Lua.Standard; - -var state = LuaState.Create(); - -// Add standard libraries -state.OpenStandardLibraries(); - -var results = await state.DoStringAsync("return math.pi"); -Console.WriteLine(results[0]); // 3.141592653589793 -``` - -For more details on standard libraries, refer to the [Lua official manual](https://www.lua.org/manual/5.2/manual.html#6). - -> [!WARNING] -> Lua-CSharp does not support all functions of the standard libraries. For details, refer to the [Compatibility](#compatibility) section. - -## Functions - -Lua functions are represented by the `LuaFunction` type. With `LuaFunction`, you can call Lua functions from C#, or define functions in C# that can be called from Lua. - -### Calling Lua Functions from C# - -```lua --- lua2cs.lua - -local function add(a, b) - return a + b -end - -return add; -``` - -```cs -var results = await state.DoFileAsync("lua2cs.lua"); -var func = results[0].Read(); - -// Execute the function with arguments -var funcResults = await func.InvokeAsync(state, new[] { 1, 2 }); - -// 3 -Console.WriteLine(funcResults[0]); -``` - -### Calling C# Functions from Lua - -It is possible to create a `LuaFunction` from a lambda expression. - -```cs -// Add the function to the global environment -state.Environment["add"] = new LuaFunction((context, buffer, ct) => -{ - // Get the arguments using context.GetArgument() - var arg0 = context.GetArgument(0); - var arg1 = context.GetArgument(1); - - // Write the return value to the buffer - buffer.Span[0] = arg0 + arg1; - - // Return the number of values - return new(1); -}); - -// Execute a Lua script -var results = await state.DoFileAsync("cs2lua.lua"); - -// 3 -Console.WriteLine(results[i]); -``` - -```lua --- cs2lua.lua - -return add(1, 2) -``` - -> [!TIP] -> Defining functions with `LuaFunction` can be somewhat verbose. When adding multiple functions, it is recommended to use the Source Generator with the `[LuaObject]` attribute. For more details, see the [LuaObject](#luaobject) section. - -## Integration with async/await - -`LuaFunction` operates asynchronously. Therefore, you can define a function that waits for an operation in Lua, such as the example below: - -```cs -// Define a function that waits for the given number of seconds using Task.Delay -state.Environment["wait"] = new LuaFunction(async (context, buffer, ct) => -{ - var sec = context.GetArgument(0); - await Task.Delay(TimeSpan.FromSeconds(sec)); - return 0; -}); - -await state.DoFileAsync("sample.lua"); -``` - -```lua --- sample.lua - -print "hello!" - -wait(1.0) -- wait 1 sec - -print "how are you?" - -wait(1.0) -- wait 1 sec - -print "goodbye!" -``` - -This code can resume the execution of the Lua script after waiting with await, as shown in the following figure. This is very useful when writing scripts to be incorporated into games. - -![img](docs/img1.png) - -## Coroutines - -Lua coroutines are represented by the `LuaThread` type. - -Coroutines can not only be used within Lua scripts, but you can also await Lua-created coroutines from C#. - -```lua --- coroutine.lua - -local co = coroutine.create(function() - for i = 1, 10 do - print(i) - coroutine.yield() - end -end) - -return co -``` - -```cs -var results = await state.DoFileAsync("coroutine.lua"); -var co = results[0].Read(); - -for (int i = 0; i < 10; i++) -{ - var resumeResults = await co.ResumeAsync(state); - - // Similar to coroutine.resume(), returns true on success and the return values afterward - // 1, 2, 3, 4, ... - Console.WriteLine(resumeResults[1]); -} -``` - -## LuaObject - -By applying the `[LuaObject]` attribute, you can create custom classes that run within Lua. Adding this attribute to a class that you wish to use in Lua allows the Source Generator to automatically generate the code required for interaction from Lua. - -The following is an example implementation of a wrapper class for `System.Numerics.Vector3` that can be used in Lua: - -```cs -using System.Numerics; -using Lua; - -var state = LuaState.Create(); - -// Add an instance of the defined LuaObject as a global variable -// (Implicit conversion to LuaValue is automatically defined for classes with the LuaObject attribute) -state.Environment["Vector3"] = new LuaVector3(); - -await state.DoFileAsync("vector3_sample.lua"); - -// Add LuaObject attribute and partial keyword -[LuaObject] -public partial class LuaVector3 -{ - Vector3 vector; - - // Add LuaMember attribute to members that will be used in Lua - // The argument specifies the name used in Lua (if omitted, the member name is used) - [LuaMember("x")] - public float X - { - get => vector.X; - set => vector = vector with { X = value }; - } - - [LuaMember("y")] - public float Y - { - get => vector.Y; - set => vector = vector with { Y = value }; - } - - [LuaMember("z")] - public float Z - { - get => vector.Z; - set => vector = vector with { Z = value }; - } - - // Static methods are treated as regular Lua functions - [LuaMember("create")] - public static LuaVector3 Create(float x, float y, float z) - { - return new LuaVector3() - { - vector = new Vector3(x, y, z) - }; - } - - // Instance methods implicitly receive the instance (this) as the first argument - // In Lua, this is accessed with instance:method() syntax - [LuaMember("normalized")] - public LuaVector3 Normalized() - { - return new LuaVector3() - { - vector = Vector3.Normalize(vector) - }; - } -} -``` - -```lua --- vector3_sample.lua - -local v1 = Vector3.create(1, 2, 3) --- 1 2 3 -print(v1.x, v1.y, v1.z) - -local v2 = v1:normalized() --- 0.26726123690605164 0.5345224738121033 0.8017836809158325 -print(v2.x, v2.y, v2.z) -``` - -The types of fields/properties with the `[LuaMember]` attribute, as well as the argument and return types of methods, must be either `LuaValue` or convertible to/from `LuaValue`. - -Return types such as `void`, `Task/Task`, `ValueTask/ValueTask`, `UniTask/UniTask`, and `Awaitable/Awaitable` are also supported. - -If the type is not supported, the Source Generator will output a compile-time error. - -### LuaMetamethod - -By adding the `[LuaMetamethod]` attribute, you can designate a C# method to be used as a Lua metamethod. - -Here is an example that adds the `__add`, `__sub`, and `__tostring` metamethods to the `LuaVector3` class: - -```cs -[LuaObject] -public partial class LuaVector3 -{ - // The previous implementation is omitted - - [LuaMetamethod(LuaObjectMetamethod.Add)] - public static LuaVector3 Add(LuaVector3 a, LuaVector3 b) - { - return new LuaVector3() - { - vector = a.vector + b.vector - }; - } - - [LuaMetamethod(LuaObjectMetamethod.Sub)] - public static LuaVector3 Sub(LuaVector3 a, LuaVector3 b) - { - return new LuaVector3() - { - vector = a.vector - b.vector - }; - } - - [LuaMetamethod(LuaObjectMetamethod.ToString)] - public override string ToString() - { - return vector.ToString(); - } -} -``` - -```lua -local v1 = Vector3.create(1, 1, 1) -local v2 = Vector3.create(2, 2, 2) - -print(v1) -- <1, 1, 1> -print(v2) -- <2, 2, 2> - -print(v1 + v2) -- <3, 3, 3> -print(v1 - v2) -- <-1, -1, -1> -``` - -> [!NOTE] -> `__index` and `__newindex` cannot be set as they are used internally by the code generated by `[LuaObject]`. - -## Module Loading - -In Lua, you can load modules using the `require` function. In regular Lua, modules are managed by searchers within the `package.searchers` function list. In Lua-CSharp, this is replaced by the `ILuaModuleLoader` interface. - -```cs -public interface ILuaModuleLoader -{ - bool Exists(string moduleName); - ValueTask LoadAsync(string moduleName, CancellationToken cancellationToken = default); -} -``` - -You can set the `LuaState.ModuleLoader` to change how modules are loaded. By default, the `FileModuleLoader` is set to load modules from Lua files. - -You can also combine multiple loaders using `CompositeModuleLoader.Create(loader1, loader2, ...)`. - -```cs -state.ModuleLoader = CompositeModuleLoader.Create( - new FileModuleLoader(), - new CustomModuleLoader() -); -``` - -Loaded modules are cached in the `package.loaded` table, just like regular Lua. This can be accessed via `LuaState.LoadedModules`. - -## Exception Handling - -Lua script parsing errors and runtime exceptions throw exceptions that inherit from `LuaException`. You can catch these to handle errors during execution. - -```cs -try -{ - await state.DoFileAsync("filename.lua"); -} -catch (LuaParseException) -{ - // Handle parsing errors -} -catch (LuaRuntimeException) -{ - // Handle runtime exceptions -} -``` - -## Compatibility - -Lua-CSharp is designed with integration into .NET in mind, so there are several differences from the C implementation. - -### Binary - -Lua-CSharp does not support Lua bytecode (tools like `luac` cannot be used). Only Lua source code can be executed. - -### Character Encoding - -The character encoding used in Lua-CSharp is UTF-16. Since standard Lua assumes a single-byte character encoding, string behavior differs significantly. - -For example, in regular Lua, the following code outputs `15`, but in Lua-CSharp, it outputs `5`. - -```lua -local l = string.len("あいうえお") -print(l) -``` - -All string library functions handle strings as UTF-16. - -### Garbage Collection - -Since Lua-CSharp is implemented in C#, it relies on .NET's garbage collector. As a result, memory management behavior differs from regular Lua. - -While `collectgarbage()` is available, it simply calls the corresponding .NET garbage collection method and may not exhibit the same behavior as C's Lua garbage collector. - -## License - -Lua-CSharp is licensed under the [MIT License](LICENSE). diff --git a/src/Lua.Unity/Packages/nuget-packages/InstalledPackages/LuaCSharp.0.3.1/README.md.meta b/src/Lua.Unity/Packages/nuget-packages/InstalledPackages/LuaCSharp.0.3.1/README.md.meta deleted file mode 100644 index a31538a9..00000000 --- a/src/Lua.Unity/Packages/nuget-packages/InstalledPackages/LuaCSharp.0.3.1/README.md.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: ca852d91bba6d4f1bb3b51fa9102d995 -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/src/Lua.Unity/Packages/nuget-packages/InstalledPackages/LuaCSharp.0.3.1/analyzers.meta b/src/Lua.Unity/Packages/nuget-packages/InstalledPackages/LuaCSharp.0.3.1/analyzers.meta deleted file mode 100644 index 34ab4ad7..00000000 --- a/src/Lua.Unity/Packages/nuget-packages/InstalledPackages/LuaCSharp.0.3.1/analyzers.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 8d2121deb53d94ca2a244173798b5010 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/src/Lua.Unity/Packages/nuget-packages/InstalledPackages/LuaCSharp.0.3.1/analyzers/dotnet.meta b/src/Lua.Unity/Packages/nuget-packages/InstalledPackages/LuaCSharp.0.3.1/analyzers/dotnet.meta deleted file mode 100644 index 5254452d..00000000 --- a/src/Lua.Unity/Packages/nuget-packages/InstalledPackages/LuaCSharp.0.3.1/analyzers/dotnet.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: ebee2cd7f5c8c48e6b9592d28d5c0bb8 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/src/Lua.Unity/Packages/nuget-packages/InstalledPackages/LuaCSharp.0.3.1/analyzers/dotnet/cs.meta b/src/Lua.Unity/Packages/nuget-packages/InstalledPackages/LuaCSharp.0.3.1/analyzers/dotnet/cs.meta deleted file mode 100644 index eb579750..00000000 --- a/src/Lua.Unity/Packages/nuget-packages/InstalledPackages/LuaCSharp.0.3.1/analyzers/dotnet/cs.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: c490e8a3c6ca14ba2a2556f3ff493942 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/src/Lua.Unity/Packages/nuget-packages/InstalledPackages/LuaCSharp.0.3.1/analyzers/dotnet/cs/Lua.SourceGenerator.dll b/src/Lua.Unity/Packages/nuget-packages/InstalledPackages/LuaCSharp.0.3.1/analyzers/dotnet/cs/Lua.SourceGenerator.dll deleted file mode 100644 index fb88a0ae8e2f0bfb18b81c18d2490216b5bd4c7d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35840 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 NmstMy_y3;-{x2vm&;rTb?$u=_U+mmcd*vK|u* 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 diff --git a/src/Lua.Unity/Packages/nuget-packages/InstalledPackages/LuaCSharp.0.3.1/lib/netstandard2.1/Lua.dll.meta b/src/Lua.Unity/Packages/nuget-packages/InstalledPackages/LuaCSharp.0.3.1/lib/netstandard2.1/Lua.dll.meta deleted file mode 100644 index 43927c6c..00000000 --- a/src/Lua.Unity/Packages/nuget-packages/InstalledPackages/LuaCSharp.0.3.1/lib/netstandard2.1/Lua.dll.meta +++ /dev/null @@ -1,29 +0,0 @@ -fileFormatVersion: 2 -guid: 867dfdc624be84676a592048e765a7ff -labels: -- NuGetForUnity -PluginImporter: - externalObjects: {} - serializedVersion: 3 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 1 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - Any: - enabled: 1 - settings: {} - Editor: - enabled: 0 - settings: - DefaultValueInitialized: true - WindowsStoreApps: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/src/Lua.Unity/Packages/nuget-packages/packages.config b/src/Lua.Unity/Packages/nuget-packages/packages.config index fbdd0288..a9d4fdcf 100644 --- a/src/Lua.Unity/Packages/nuget-packages/packages.config +++ b/src/Lua.Unity/Packages/nuget-packages/packages.config @@ -1,5 +1,6 @@  - - + + + \ No newline at end of file diff --git a/src/Lua.Unity/Packages/packages-lock.json b/src/Lua.Unity/Packages/packages-lock.json index f89d3a31..f4bdbb17 100644 --- a/src/Lua.Unity/Packages/packages-lock.json +++ b/src/Lua.Unity/Packages/packages-lock.json @@ -7,6 +7,12 @@ "dependencies": {}, "hash": "242f30ec55ef9c34f1e9953126e6e8350ec3f4c0" }, + "com.nuskey8.lua.unity.internal": { + "version": "file:../../Lua/bin/Debug/netstandard2.1", + "depth": 0, + "source": "local", + "dependencies": {} + }, "com.unity.addressables": { "version": "2.2.2", "depth": 0, diff --git a/src/Lua.Unity/ProjectSettings/EditorBuildSettings.asset b/src/Lua.Unity/ProjectSettings/EditorBuildSettings.asset index be6bb434..2cb387b5 100644 --- a/src/Lua.Unity/ProjectSettings/EditorBuildSettings.asset +++ b/src/Lua.Unity/ProjectSettings/EditorBuildSettings.asset @@ -9,6 +9,6 @@ EditorBuildSettings: path: Assets/Sandbox/SampleScene.unity guid: 99c9720ab356a0642a771bea13969a05 m_configObjects: - com.unity.addressableassets: {fileID: 11400000, guid: 5b124f60b731f48fba10f000d3390a42, type: 2} + com.unity.addressableassets: {fileID: 11400000, guid: abb3d975b60334895afa04bc9ef91e68, type: 2} com.unity.input.settings.actions: {fileID: -944628639613478452, guid: 052faaac586de48259a63d0c4782560b, type: 3} m_UseUCBPForAssetBundles: 0