using
UnityEngine;
using
System.
Collections;
using
System;
using
XLua;
using
System.
Collections.
Generic;
[
Serializable]
public
class
MyInjection {
public
string name;
public
GameObject value;
}
[
LuaCallCSharp]
public
class
LuaInjection :
MonoBehaviour {
LuaTable luaTable =
LuaManager.
_instance.
luaTable;
public
List<
MyInjection> injections =
new
List<
MyInjection>();
// Use this for initialization
void
Awake () {
luaTable.
Set(
"self",
this);
//添加自身
//GameObject loginbtn = FindUtil.FindChild("LoginBtn", transform);
//luaTable.Set("LoginBtn", loginbtn);
SetMyInjectionList(
transform,
ref
injections);
foreach (
MyInjection item
in
injections) {
luaTable.
Set(
item.
name,
item.
value);
}
}
///
<
summary
>
/// 添加子物体
///
</
summary
>
///
<
param
name
=
"go"
>
总的父物体
</
param
>
///
<
param
name
=
"list"
>
集合
</
param
>
public
void
SetMyInjectionList(
Transform go,
ref
List<
MyInjection> list) {
//先添加自己
MyInjection goself =
new
MyInjection();
goself.
name =
go.
name;
goself.
value =
go.
gameObject;
list.
Add(
goself);
//遍历添加子物体
for (
int i =
0;
i <
go.
childCount;
i++) {
if (
go.
GetChild(
i).
childCount ==
0) {
MyInjection temp =
new
MyInjection();
temp.
name =
go.
GetChild(
i).
name;
temp.
value =
go.
GetChild(
i).
gameObject;
list.
Add(
temp);
}
else {
SetMyInjectionList(
go.
GetChild(
i),
ref
list);
}
}
}
// Update is called once per frame
void
Update () {
}
}
/*
1.完整版的登录注册 lua 客户端
2.搭建登录注册 的服务器
*/