public static void reload() { var types = Assembly.GetAssembly(typeof(App)).GetTypes(); foreach (var type in types) { try { var baseType = type.BaseType; if (baseType != null) { if ("FastNet.Cfg`2".Equals(baseType.Namespace + "." + baseType.Name)) { var method = type.GetMethod("Init", BindingFlags.Public | BindingFlags.Static); method.Invoke(null, null); } } } catch (Exception e) { UnityEngine.Debug.LogException(e); } } if (s_luaEnv != null) { //pkt MessageLua.Load(s_workPath + "/pkt_table.bytes", s_luaEnv); //cfg CfgLua.Load(s_workPath + "/cfg_table.bytes", s_luaEnv); } }
public static void initialize(XLua.LuaEnv luaEnv = null) { try { s_workPath = System.IO.Path.Combine(Application.persistentDataPath, "FastNet"); if (Directory.Exists(s_workPath) == false) { Directory.CreateDirectory(s_workPath); } s_luaEnv = luaEnv; var types = Assembly.GetAssembly(typeof(App)).GetTypes(); foreach (var type in types) { try { var baseType = type.BaseType; if (baseType != null) { if ("FastNet.Cfg`2".Equals(baseType.Namespace + "." + baseType.Name)) { var method = type.GetMethod("Init", BindingFlags.Public | BindingFlags.Static); method.Invoke(null, null); } else if ("FastNet.Message".Equals(baseType.Namespace + "." + baseType.Name)) { RegisterMessage(type, false); } } } catch (Exception e) { UnityEngine.Debug.LogException(e); } } if (luaEnv != null) { //pkt MessageLua.Load(s_workPath + "/pkt_table.bytes", luaEnv); //cfg CfgLua.Load(s_workPath + "/cfg_table.bytes", luaEnv); } } catch (Exception e) { Debug.LogException(e); } }
public static void Load(String jsonPath, XLua.LuaEnv luaEnv) { try { if (!File.Exists(jsonPath)) { UnityEngine.Debug.LogError(String.Format("{0} no exists", jsonPath)); return; } StreamReader sr = File.OpenText(jsonPath); string input = sr.ReadToEnd(); var jsonObjects = MiniJSON.MiniJSON.jsonDecode(input) as ArrayList; foreach (Hashtable v in jsonObjects) { var attrs = new List <CfgLua.Attr>(); foreach (Hashtable c in (ArrayList)v["attrs"]) { var attr = new CfgLua.Attr(); attr.name = (String)c["name"]; attr.type = (String)c["type"]; attr.defVal = (String)c["value"]; attrs.Add(attr); } var ttt = v["clsId"].GetType(); var clsId = (Double)v["clsId"]; var signId = (Double)v["signId"]; var message = new CfgLua(luaEnv, (UInt32)clsId, (String)v["clsName"], (UInt32)signId, attrs, (String)v["index"], (String)v["cfgPath"]); App.SetTable((String)v["clsName"], message); } foreach (Hashtable v in jsonObjects) { var cl = luaEnv.Global.GetInPath <CfgLua>((String)v["clsName"]); cl.LoadCfg(); } } catch (Exception e) { UnityEngine.Debug.LogException(e); } }