1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
| using System.Collections; using System.Collections.Generic; using UnityEngine; using XLua;
public delegate void LifeCycle();
[GCOptimize] public struct LuaBootstrap { public LifeCycle Start; public LifeCycle Update; public LifeCycle OnDestroy; }
public class Bootstrap : MonoBehaviour { private LuaBootstrap _Bootstrap;
void Start() { DontDestroyOnLoad(gameObject);
xLuaEnv.Instance.DoString("require('Bootstrap')");
_Bootstrap = xLuaEnv.Instance.Global.Get<LuaBootstrap>("Bootstrap"); _Bootstrap.Start(); }
void Update() { _Bootstrap.Update(); }
void OnDestroy() { _Bootstrap.OnDestroy();
_Bootstrap.Start = null; _Bootstrap.Update = null; _Bootstrap.OnDestroy = null;
xLuaEnv.Instance.Free(); } }
|