Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Emo_Tiny
ZFramework
提交
f8d4540c
Z
ZFramework
项目概览
Emo_Tiny
/
ZFramework
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
Z
ZFramework
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
f8d4540c
编写于
8月 17, 2021
作者:
Emo_Tiny
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
【Lua框架】XluaManager管理器修改
上级
a984b077
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
61 addition
and
5 deletion
+61
-5
Assets/Script/Xlua/XLuaManager.cs
Assets/Script/Xlua/XLuaManager.cs
+61
-5
未找到文件。
Assets/Script/Xlua/XLuaManager.cs
浏览文件 @
f8d4540c
...
@@ -11,8 +11,12 @@ namespace ZFramework.XLua
...
@@ -11,8 +11,12 @@ namespace ZFramework.XLua
{
{
private
LuaEnv
_luaEnv
=
null
;
private
LuaEnv
_luaEnv
=
null
;
private
LuaFunction
_luatick
=
null
;
private
LuaFunction
_luatick
=
null
;
private
LuaFunction
_luaDispatchClientEvent
=
null
;
private
LuaTable
_luaEventDispatcher
=
null
;
private
const
string
ServiceMgrScriptName
=
"ServiceModuleManager"
;
private
const
string
ServiceMgrScriptName
=
"ServiceModuleManager"
;
private
const
string
MainScriptName
=
"Main"
;
private
const
string
EventDispatcherScriptName
=
"EventDispatcher"
;
private
void
Start
()
private
void
Start
()
{
{
...
@@ -53,8 +57,13 @@ namespace ZFramework.XLua
...
@@ -53,8 +57,13 @@ namespace ZFramework.XLua
private
void
GameStartup
()
private
void
GameStartup
()
{
{
LoadScript
(
ServiceMgrScriptName
);
_luatick
=
_luaEnv
.
Global
.
GetInPath
<
LuaFunction
>(
$"package.loaded.
{
ServiceMgrScriptName
}
.Tick"
);
_luatick
=
_luaEnv
.
Global
.
GetInPath
<
LuaFunction
>(
$"package.loaded.
{
ServiceMgrScriptName
}
.Tick"
);
LoadScript
(
MainScriptName
);
_luaEventDispatcher
=
_luaEnv
.
Global
.
GetInPath
<
LuaTable
>(
$"package.loader.
{
EventDispatcherScriptName
}
"
);
_luaDispatchClientEvent
=
_luaEnv
.
Global
.
GetInPath
<
LuaFunction
>(
$"package.loaded.
{
EventDispatcherScriptName
}
.DispatchClientEvent"
);
}
}
/// <summary>
/// <summary>
...
@@ -62,10 +71,18 @@ namespace ZFramework.XLua
...
@@ -62,10 +71,18 @@ namespace ZFramework.XLua
/// </summary>
/// </summary>
public
void
LoadScript
(
string
scriptName
)
public
void
LoadScript
(
string
scriptName
)
{
{
Sa
v
eDoString
(
$"require('
{
scriptName
}
')"
);
Sa
f
eDoString
(
$"require('
{
scriptName
}
')"
);
}
}
private
void
SaveDoString
(
string
scriptContent
)
/// <summary>
/// 清楚require的缓存
/// </summary>
public
void
CleanRequiredCache
(
string
scriptName
)
{
SafeDoString
(
$"package.loaded['
{
scriptName
}
'] = nil"
);
}
private
void
SafeDoString
(
string
scriptContent
)
{
{
if
(
_luaEnv
!=
null
)
if
(
_luaEnv
!=
null
)
{
{
...
@@ -84,11 +101,50 @@ namespace ZFramework.XLua
...
@@ -84,11 +101,50 @@ namespace ZFramework.XLua
private
void
Update
()
private
void
Update
()
{
{
if
(
_lua
Env
!=
null
)
if
(
_lua
tick
!=
null
)
{
{
_luatick
.
Action
(
Time
.
deltaTime
,
Time
.
unscaledTime
);
_luatick
.
Action
(
Time
.
deltaTime
,
Time
.
unscaledTime
);
}
}
}
}
protected
override
void
OnDestroy
()
{
CleanUp
();
base
.
OnDestroy
();
}
//清理虚拟机
private
void
CleanUp
()
{
if
(
_luaEnv
!=
null
)
{
CleanRequiredCache
(
AssetManager
.
LuaPackageName
);
if
(
_luatick
!=
null
)
{
_luatick
.
Dispose
();
_luatick
=
null
;
}
if
(
_luaEventDispatcher
!=
null
)
{
_luaEventDispatcher
.
Dispose
();
_luaEventDispatcher
=
null
;
}
if
(
_luaDispatchClientEvent
!=
null
)
{
_luaDispatchClientEvent
.
Dispose
();
_luaDispatchClientEvent
=
null
;
}
if
(
_luaEnv
!=
null
)
{
_luaEnv
.
Dispose
();
_luaEnv
=
null
;
}
}
}
}
}
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录