From 0f0c48714089fab030974d7215bc13fc3596b722 Mon Sep 17 00:00:00 2001
From: client_Wu Xijin <364452445@qq.com>
Date: 星期一, 22 十月 2018 11:47:15 +0800
Subject: [PATCH] 3335 更新lua库
---
Lua/LuaUtility.cs | 33 ++++++++++++++++++++++++---------
1 files changed, 24 insertions(+), 9 deletions(-)
diff --git a/Lua/LuaUtility.cs b/Lua/LuaUtility.cs
index 2a20be3..7f0372a 100644
--- a/Lua/LuaUtility.cs
+++ b/Lua/LuaUtility.cs
@@ -6,13 +6,22 @@
public class LuaUtility : SingletonMonobehaviour<LuaUtility>
{
- internal static LuaEnv env = new LuaEnv();
+ public readonly static LuaEnv env = new LuaEnv();
static float lastGCTime = 0;
const float GCInterval = 1;//1 second
static LuaUtility()
{
- env.AddLoader(new LuaEnv.CustomLoader(LoadAsset));
+ env.AddLoader(new LuaEnv.CustomLoader(LoadAssetBytes));
+ }
+
+ public static LuaTable GetNewTable()
+ {
+ return env.NewTable();
+ }
+
+ public static LuaTable Global {
+ get { return env.Global; }
}
public void Init()
@@ -41,25 +50,31 @@
env.DoString(command, chunkName, _table);
}
- private static byte[] LoadAsset(ref string _fileName)
+ public static void DoString(string _file, string chunkName = "chunk", LuaTable _table = null)
+ {
+ var content = LoadAsset(ref _file);
+ env.DoString(content, chunkName, _table);
+ }
+
+ private static string LoadAsset(ref string _fileName)
{
_fileName = _fileName.Replace('.', '/');
var path = string.Empty;
- byte[] bytes = null;
-
if (AssetSource.luaFromEditor)
{
path = ResourcesPath.LUA_FODLER + "/" + _fileName + ".lua";
}
else
{
- var assetVersion = AssetVersionUtility.GetAssetVersion(StringUtility.Contact("lua/", _fileName, ".lua"));
- path = StringUtility.Contact(ResourcesPath.Instance.ExternalStorePath, assetVersion.relativePath);
+ path = AssetVersionUtility.GetAssetFilePath(StringUtility.Contact("lua/", _fileName, ".lua"));
}
- bytes = System.Text.Encoding.UTF8.GetBytes(File.ReadAllText(path));
- return bytes;
+ return File.ReadAllText(path);
}
+ private static byte[] LoadAssetBytes(ref string _fileName)
+ {
+ return System.Text.Encoding.UTF8.GetBytes(LoadAsset(ref _fileName));
+ }
}
--
Gitblit v1.8.0