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

Commit ad1f9fa

Browse files
committed
添加lua ui管理器
1 parent d2af6f5 commit ad1f9fa

File tree

10 files changed

+331
-17
lines changed

10 files changed

+331
-17
lines changed

Assets/Game/HotFix/Main.lua.txt

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,14 @@
11
require('mobdebug').start()
22
require('Resource')
3+
require('UI')
34

45
function Start()
5-
print("lua start")
6-
local tx=CS.UnityEngine.TextAsset()
7-
tx= Res:LoadAsset(tx,"hotfix","Assets/Game/HotFix/Test.lua.txt");
8-
print(tx.text)
9-
CS.UnityEngine.GameObject('lua test gameobject')
6+
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")
1012
end
1113

1214
function Update()

Assets/Game/HotFix/UI.lua.txt

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,33 @@
1+
require('Resource')
2+
13
UI={}
24

5+
local View={}
6+
37
-- 打开ui
48
function UI:Open(name)
5-
9+
view=View[name]
10+
if(view==nil) then
11+
viewPrefab=CS.UnityEngine.Object()
12+
viewPrefab=Res:LoadAsset(viewPrefab,"ui",name)
13+
view=CS.UnityEngine.GameObject.Instantiate(viewPrefab)
14+
view.gameObject:SetActive(true)
15+
View[name]=view
16+
else
17+
view:SetActive(true)
18+
end
619
end
720

821

922
--关闭ui
1023
function UI:Close(name,destory)
11-
24+
view=View[name]
25+
if(view ~= nil) then
26+
if(destory) then
27+
CS.UnityEngine.GameObject.Destroy(view)
28+
View[name]=nil
29+
else
30+
view:SetActive(false)
31+
end
32+
end
1233
end

Assets/Game/Scripts/Lua/Main.lua

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,14 @@
11
require('mobdebug').start()
22
require('Resource')
3+
require('UI')
34

45
function Start()
5-
print("lua start")
6-
local tx=CS.UnityEngine.TextAsset()
7-
tx= Res:LoadAsset(tx,"hotfix","Assets/Game/HotFix/Test.lua.txt");
8-
print(tx.text)
9-
CS.UnityEngine.GameObject('lua test gameobject')
6+
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")
1012
end
1113

1214
function Update()

Assets/Game/Scripts/Lua/UI.lua

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,33 @@
1+
require('Resource')
2+
13
UI={}
24

5+
local View={}
6+
37
-- 打开ui
48
function UI:Open(name)
5-
9+
view=View[name]
10+
if(view==nil) then
11+
viewPrefab=CS.UnityEngine.Object()
12+
viewPrefab=Res:LoadAsset(viewPrefab,"ui",name)
13+
view=CS.UnityEngine.GameObject.Instantiate(viewPrefab)
14+
view.gameObject:SetActive(true)
15+
View[name]=view
16+
else
17+
view:SetActive(true)
18+
end
619
end
720

821

922
--关闭ui
1023
function UI:Close(name,destory)
11-
24+
view=View[name]
25+
if(view ~= nil) then
26+
if(destory) then
27+
CS.UnityEngine.GameObject.Destroy(view)
28+
View[name]=nil
29+
else
30+
view:SetActive(false)
31+
end
32+
end
1233
end

Assets/Game/UI.meta

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

Assets/Game/UI/Canvas.prefab

Lines changed: 252 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,252 @@
1+
%YAML 1.1
2+
%TAG !u! tag:unity3d.com,2011:
3+
--- !u!1001 &100100000
4+
Prefab:
5+
m_ObjectHideFlags: 1
6+
serializedVersion: 2
7+
m_Modification:
8+
m_TransformParent: {fileID: 0}
9+
m_Modifications: []
10+
m_RemovedComponents: []
11+
m_SourcePrefab: {fileID: 0}
12+
m_RootGameObject: {fileID: 1028372202382570}
13+
m_IsPrefabAsset: 1
14+
--- !u!1 &1028372202382570
15+
GameObject:
16+
m_ObjectHideFlags: 0
17+
m_CorrespondingSourceObject: {fileID: 0}
18+
m_PrefabInternal: {fileID: 100100000}
19+
serializedVersion: 6
20+
m_Component:
21+
- component: {fileID: 224126217176054038}
22+
- component: {fileID: 223916523642856208}
23+
- component: {fileID: 114921435958785688}
24+
- component: {fileID: 114425619669565452}
25+
m_Layer: 5
26+
m_Name: Canvas
27+
m_TagString: Untagged
28+
m_Icon: {fileID: 0}
29+
m_NavMeshLayer: 0
30+
m_StaticEditorFlags: 0
31+
m_IsActive: 1
32+
--- !u!1 &1450190532183066
33+
GameObject:
34+
m_ObjectHideFlags: 0
35+
m_CorrespondingSourceObject: {fileID: 0}
36+
m_PrefabInternal: {fileID: 100100000}
37+
serializedVersion: 6
38+
m_Component:
39+
- component: {fileID: 224519018837270310}
40+
- component: {fileID: 222171159895976012}
41+
- component: {fileID: 114547053673087966}
42+
m_Layer: 5
43+
m_Name: Image
44+
m_TagString: Untagged
45+
m_Icon: {fileID: 0}
46+
m_NavMeshLayer: 0
47+
m_StaticEditorFlags: 0
48+
m_IsActive: 1
49+
--- !u!1 &1565731849707520
50+
GameObject:
51+
m_ObjectHideFlags: 0
52+
m_CorrespondingSourceObject: {fileID: 0}
53+
m_PrefabInternal: {fileID: 100100000}
54+
serializedVersion: 6
55+
m_Component:
56+
- component: {fileID: 224420622425393734}
57+
- component: {fileID: 222998477433665494}
58+
- component: {fileID: 114109202942962028}
59+
m_Layer: 5
60+
m_Name: Text
61+
m_TagString: Untagged
62+
m_Icon: {fileID: 0}
63+
m_NavMeshLayer: 0
64+
m_StaticEditorFlags: 0
65+
m_IsActive: 1
66+
--- !u!114 &114109202942962028
67+
MonoBehaviour:
68+
m_ObjectHideFlags: 1
69+
m_CorrespondingSourceObject: {fileID: 0}
70+
m_PrefabInternal: {fileID: 100100000}
71+
m_GameObject: {fileID: 1565731849707520}
72+
m_Enabled: 1
73+
m_EditorHideFlags: 0
74+
m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3}
75+
m_Name:
76+
m_EditorClassIdentifier:
77+
m_Material: {fileID: 0}
78+
m_Color: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1}
79+
m_RaycastTarget: 1
80+
m_OnCullStateChanged:
81+
m_PersistentCalls:
82+
m_Calls: []
83+
m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
84+
Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
85+
m_FontData:
86+
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
87+
m_FontSize: 14
88+
m_FontStyle: 0
89+
m_BestFit: 0
90+
m_MinSize: 10
91+
m_MaxSize: 40
92+
m_Alignment: 0
93+
m_AlignByGeometry: 0
94+
m_RichText: 1
95+
m_HorizontalOverflow: 0
96+
m_VerticalOverflow: 0
97+
m_LineSpacing: 1
98+
m_Text: New Text
99+
--- !u!114 &114425619669565452
100+
MonoBehaviour:
101+
m_ObjectHideFlags: 1
102+
m_CorrespondingSourceObject: {fileID: 0}
103+
m_PrefabInternal: {fileID: 100100000}
104+
m_GameObject: {fileID: 1028372202382570}
105+
m_Enabled: 1
106+
m_EditorHideFlags: 0
107+
m_Script: {fileID: 1301386320, guid: f70555f144d8491a825f0804e09c671c, type: 3}
108+
m_Name:
109+
m_EditorClassIdentifier:
110+
m_IgnoreReversedGraphics: 1
111+
m_BlockingObjects: 0
112+
m_BlockingMask:
113+
serializedVersion: 2
114+
m_Bits: 4294967295
115+
--- !u!114 &114547053673087966
116+
MonoBehaviour:
117+
m_ObjectHideFlags: 1
118+
m_CorrespondingSourceObject: {fileID: 0}
119+
m_PrefabInternal: {fileID: 100100000}
120+
m_GameObject: {fileID: 1450190532183066}
121+
m_Enabled: 1
122+
m_EditorHideFlags: 0
123+
m_Script: {fileID: -765806418, guid: f70555f144d8491a825f0804e09c671c, type: 3}
124+
m_Name:
125+
m_EditorClassIdentifier:
126+
m_Material: {fileID: 0}
127+
m_Color: {r: 1, g: 1, b: 1, a: 1}
128+
m_RaycastTarget: 1
129+
m_OnCullStateChanged:
130+
m_PersistentCalls:
131+
m_Calls: []
132+
m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
133+
Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
134+
m_Sprite: {fileID: 0}
135+
m_Type: 0
136+
m_PreserveAspect: 0
137+
m_FillCenter: 1
138+
m_FillMethod: 4
139+
m_FillAmount: 1
140+
m_FillClockwise: 1
141+
m_FillOrigin: 0
142+
--- !u!114 &114921435958785688
143+
MonoBehaviour:
144+
m_ObjectHideFlags: 1
145+
m_CorrespondingSourceObject: {fileID: 0}
146+
m_PrefabInternal: {fileID: 100100000}
147+
m_GameObject: {fileID: 1028372202382570}
148+
m_Enabled: 1
149+
m_EditorHideFlags: 0
150+
m_Script: {fileID: 1980459831, guid: f70555f144d8491a825f0804e09c671c, type: 3}
151+
m_Name:
152+
m_EditorClassIdentifier:
153+
m_UiScaleMode: 0
154+
m_ReferencePixelsPerUnit: 100
155+
m_ScaleFactor: 1
156+
m_ReferenceResolution: {x: 800, y: 600}
157+
m_ScreenMatchMode: 0
158+
m_MatchWidthOrHeight: 0
159+
m_PhysicalUnit: 3
160+
m_FallbackScreenDPI: 96
161+
m_DefaultSpriteDPI: 96
162+
m_DynamicPixelsPerUnit: 1
163+
--- !u!222 &222171159895976012
164+
CanvasRenderer:
165+
m_ObjectHideFlags: 1
166+
m_CorrespondingSourceObject: {fileID: 0}
167+
m_PrefabInternal: {fileID: 100100000}
168+
m_GameObject: {fileID: 1450190532183066}
169+
m_CullTransparentMesh: 0
170+
--- !u!222 &222998477433665494
171+
CanvasRenderer:
172+
m_ObjectHideFlags: 1
173+
m_CorrespondingSourceObject: {fileID: 0}
174+
m_PrefabInternal: {fileID: 100100000}
175+
m_GameObject: {fileID: 1565731849707520}
176+
m_CullTransparentMesh: 0
177+
--- !u!223 &223916523642856208
178+
Canvas:
179+
m_ObjectHideFlags: 1
180+
m_CorrespondingSourceObject: {fileID: 0}
181+
m_PrefabInternal: {fileID: 100100000}
182+
m_GameObject: {fileID: 1028372202382570}
183+
m_Enabled: 1
184+
serializedVersion: 3
185+
m_RenderMode: 0
186+
m_Camera: {fileID: 0}
187+
m_PlaneDistance: 100
188+
m_PixelPerfect: 0
189+
m_ReceivesEvents: 1
190+
m_OverrideSorting: 0
191+
m_OverridePixelPerfect: 0
192+
m_SortingBucketNormalizedSize: 0
193+
m_AdditionalShaderChannelsFlag: 0
194+
m_SortingLayerID: 0
195+
m_SortingOrder: 0
196+
m_TargetDisplay: 0
197+
--- !u!224 &224126217176054038
198+
RectTransform:
199+
m_ObjectHideFlags: 1
200+
m_CorrespondingSourceObject: {fileID: 0}
201+
m_PrefabInternal: {fileID: 100100000}
202+
m_GameObject: {fileID: 1028372202382570}
203+
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
204+
m_LocalPosition: {x: 0, y: 0, z: 0}
205+
m_LocalScale: {x: 0, y: 0, z: 0}
206+
m_Children:
207+
- {fileID: 224519018837270310}
208+
- {fileID: 224420622425393734}
209+
m_Father: {fileID: 0}
210+
m_RootOrder: 0
211+
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
212+
m_AnchorMin: {x: 0, y: 0}
213+
m_AnchorMax: {x: 0, y: 0}
214+
m_AnchoredPosition: {x: 0, y: 0}
215+
m_SizeDelta: {x: 0, y: 0}
216+
m_Pivot: {x: 0, y: 0}
217+
--- !u!224 &224420622425393734
218+
RectTransform:
219+
m_ObjectHideFlags: 1
220+
m_CorrespondingSourceObject: {fileID: 0}
221+
m_PrefabInternal: {fileID: 100100000}
222+
m_GameObject: {fileID: 1565731849707520}
223+
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
224+
m_LocalPosition: {x: 0, y: 0, z: 0}
225+
m_LocalScale: {x: 1, y: 1, z: 1}
226+
m_Children: []
227+
m_Father: {fileID: 224126217176054038}
228+
m_RootOrder: 1
229+
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
230+
m_AnchorMin: {x: 0.5, y: 0.5}
231+
m_AnchorMax: {x: 0.5, y: 0.5}
232+
m_AnchoredPosition: {x: 0, y: 0}
233+
m_SizeDelta: {x: 160, y: 30}
234+
m_Pivot: {x: 0.5, y: 0.5}
235+
--- !u!224 &224519018837270310
236+
RectTransform:
237+
m_ObjectHideFlags: 1
238+
m_CorrespondingSourceObject: {fileID: 0}
239+
m_PrefabInternal: {fileID: 100100000}
240+
m_GameObject: {fileID: 1450190532183066}
241+
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
242+
m_LocalPosition: {x: 0, y: 0, z: 0}
243+
m_LocalScale: {x: 1, y: 1, z: 1}
244+
m_Children: []
245+
m_Father: {fileID: 224126217176054038}
246+
m_RootOrder: 0
247+
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
248+
m_AnchorMin: {x: 0.5, y: 0.5}
249+
m_AnchorMax: {x: 0.5, y: 0.5}
250+
m_AnchoredPosition: {x: 0, y: 0}
251+
m_SizeDelta: {x: 100, y: 100}
252+
m_Pivot: {x: 0.5, y: 0.5}

Assets/Game/UI/Canvas.prefab.meta

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

Assets/GameFramework/HotFix/HotFixManager.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ public void LoadHotFix(string assetBundle="hotfix",string luaScript="main",
5656
_luaPathExtension = luaPathExtension;
5757

5858
_scriptEnv = LuaEnv.NewTable();
59-
59+
6060
// 为每个脚本设置一个独立的环境,可一定程度上防止脚本间全局变量、函数冲突
6161
LuaTable meta = LuaEnv.NewTable();
6262
meta.Set("__index", LuaEnv.Global);

0 commit comments

Comments
 (0)