Skip to content
This repository was archived by the owner on Jul 11, 2023. It is now read-only.

Commit fc24edc

Browse files
committed
ui执行对应名称的lua脚本
1 parent ad1f9fa commit fc24edc

File tree

8 files changed

+82
-14
lines changed

8 files changed

+82
-14
lines changed

Assets/Game/HotFix/Canvas.lua.txt

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
function Enable()
2+
print("Test--UI--Enable")
3+
end
4+
5+
function Disable()
6+
print("Test--UI--Disable")
7+
end
8+
9+
function Start()
10+
print("Test--UI--Start")
11+
end
12+
13+
function Update()
14+
print("Test--UI--Update")
15+
end
16+
17+
function Close()
18+
print("Test--UI--Close")
19+
end

Assets/Game/HotFix/Canvas.lua.txt.meta

Lines changed: 7 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Assets/Game/HotFix/Main.lua.txt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@ require('UI')
44

55
function Start()
66
print("start")
7-
UI:Open("Assets/Game/UI/Canvas.prefab")
8-
UI:Close("Assets/Game/UI/Canvas.prefab",false)
9-
UI:Open("Assets/Game/UI/Canvas.prefab")
10-
UI:Close("Assets/Game/UI/Canvas.prefab",true)
11-
UI:Open("Assets/Game/UI/Canvas.prefab")
7+
UI:Open("Canvas")
8+
UI:Close("Canvas",false)
9+
UI:Open("Canvas")
10+
UI:Close("Canvas",true)
11+
UI:Open("Canvas")
1212
end
1313

1414
function Update()

Assets/Game/HotFix/UI.lua.txt

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,22 @@ UI={}
44

55
local View={}
66

7+
local uiPrefabPath="Assets/Game/UI/"
8+
79
-- 打开ui
810
function UI:Open(name)
911
view=View[name]
1012
if(view==nil) then
1113
viewPrefab=CS.UnityEngine.Object()
12-
viewPrefab=Res:LoadAsset(viewPrefab,"ui",name)
14+
path=uiPrefabPath..name..".prefab"
15+
viewPrefab=Res:LoadAsset(viewPrefab,"ui",path)
1316
view=CS.UnityEngine.GameObject.Instantiate(viewPrefab)
14-
view.gameObject:SetActive(true)
17+
--如果有LuaBehaviour的脚本则执行相应的脚本
18+
luaBehaviour=view:GetComponent("GameFramework.Taurus.LuaBehaviour")
19+
if(luaBehaviour==nil) then
20+
luaBehaviour:Run(name)
21+
end
22+
view:SetActive(true)
1523
View[name]=view
1624
else
1725
view:SetActive(true)

Assets/Game/Scripts/Lua/Canvas.lua

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
function Enable()
2+
print("Test--UI--Enable")
3+
end
4+
5+
function Disable()
6+
print("Test--UI--Disable")
7+
end
8+
9+
function Start()
10+
print("Test--UI--Start")
11+
end
12+
13+
function Update()
14+
print("Test--UI--Update")
15+
end
16+
17+
function Close()
18+
print("Test--UI--Close")
19+
end

Assets/Game/Scripts/Lua/Canvas.lua.meta

Lines changed: 7 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Assets/Game/Scripts/Lua/Main.lua

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@ require('UI')
44

55
function Start()
66
print("start")
7-
UI:Open("Assets/Game/UI/Canvas.prefab")
8-
UI:Close("Assets/Game/UI/Canvas.prefab",false)
9-
UI:Open("Assets/Game/UI/Canvas.prefab")
10-
UI:Close("Assets/Game/UI/Canvas.prefab",true)
11-
UI:Open("Assets/Game/UI/Canvas.prefab")
7+
UI:Open("Canvas")
8+
UI:Close("Canvas",false)
9+
UI:Open("Canvas")
10+
UI:Close("Canvas",true)
11+
UI:Open("Canvas")
1212
end
1313

1414
function Update()

Assets/Game/Scripts/Lua/UI.lua

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,22 @@ UI={}
44

55
local View={}
66

7+
local uiPrefabPath="Assets/Game/UI/"
8+
79
-- 打开ui
810
function UI:Open(name)
911
view=View[name]
1012
if(view==nil) then
1113
viewPrefab=CS.UnityEngine.Object()
12-
viewPrefab=Res:LoadAsset(viewPrefab,"ui",name)
14+
path=uiPrefabPath..name..".prefab"
15+
viewPrefab=Res:LoadAsset(viewPrefab,"ui",path)
1316
view=CS.UnityEngine.GameObject.Instantiate(viewPrefab)
14-
view.gameObject:SetActive(true)
17+
--如果有LuaBehaviour的脚本则执行相应的脚本
18+
luaBehaviour=view:GetComponent("GameFramework.Taurus.LuaBehaviour")
19+
if(luaBehaviour==nil) then
20+
luaBehaviour:Run(name)
21+
end
22+
view:SetActive(true)
1523
View[name]=view
1624
else
1725
view:SetActive(true)

0 commit comments

Comments
 (0)