LuaManager.cs用于管理所有Lua脚本,并添加一些Lua脚本中用到的方便在C#中使用的公共方法以及简单的Lua消息实现。
</pre>using UnityEngine;using System.Collections;using System.Collections.Generic;using LuaInterface;using System.IO;using System;public class LuaManager : MonoBehaviour{ public static LuaManager instance { get; private set; } private List<LuaComponent> luaList = new List<LuaComponent>(); private Dictionary<string, List<LuaMessage>> luaMessageDiction = new Dictionary<string, List<LuaMessage>>(); public LuaState luaState { get; private set; } public string luaPath { get { return Application.dataPath + "/Resources/Lua/"; } } void Start() { instance = this; luaState = new LuaState(); RunLuaScripts("LuaSetting"); } void OnLevelWasLoaded() { luaMessageDiction.Clear(); LuaGC(); } public GameObject FindChildObject(GameObject obj, string name) { Transform trans = null; int count = obj.transform.childCount; for (int i = 0; i < count; i++) { trans = obj.transform.GetChild(i); if (trans.name == name) return trans.gameObject; } return null; } public Transform FindTransformInChilds(Transform root, string name) { for (int i = 0; i < root.transform.childCount; i++) { Transform trans = root.transform.GetChild(i); if (trans.name.Equals(name)) return trans; else return FindTransformInChilds(trans, name); } return null; } public RewardConfig GetLevelRewardConfig(int id) { return ConfigManager.instance.GetConfig<Rewar