GenericMethodExample.cs 886 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. using UnityEngine;
  2. using XLua;
  3. namespace XLuaTest
  4. {
  5. public class GenericMethodExample : MonoBehaviour
  6. {
  7. private const string script = @"
  8. local foo1 = CS.XLuaTest.Foo1Child()
  9. local foo2 = CS.XLuaTest.Foo2Child()
  10. local obj = CS.UnityEngine.GameObject()
  11. foo1:PlainExtension()
  12. foo1:Extension1()
  13. foo1:Extension2(obj) -- overload1
  14. foo1:Extension2(foo2) -- overload2
  15. local foo = CS.XLuaTest.Foo()
  16. foo:Test1(foo1)
  17. foo:Test2(foo1,foo2,obj)
  18. ";
  19. private LuaEnv env;
  20. private void Start()
  21. {
  22. env = new LuaEnv();
  23. env.DoString(script);
  24. }
  25. private void Update()
  26. {
  27. if (env != null)
  28. env.Tick();
  29. }
  30. private void OnDestroy()
  31. {
  32. env.Dispose();
  33. }
  34. }
  35. }