baobao
7/11/2017 - 6:14 AM

MoonSharpLuaToCSharpMethod.cs

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using MoonSharp.Interpreter;

// LuaからC#を実行する
public class MoonSharpLuaToCSharpMethod : MonoBehaviour
{
  // SampleLua.txtをアタッチする
	public TextAsset luaTxt;
	Script sc;

	void Start ()
	{
		// Setup Lua
		sc = new Script ();
		var d = UserData.RegisterType<SampleLuaCS> ();
		var dv = UserData.Create (this);
		sc.Globals.Set ("o", dv);
	}

	void ExecuteScript ()
	{
		sc.DoString (luaTxt.text);
	}

	// External
	public void A ()
	{
		Debug.Log ("A");
	}

	void Update ()
	{
		if (Input.GetMouseButtonDown (0) || Input.GetMouseButton (0)) {
			ExecuteScript ();
		}
	}
}
- Unity上で使用する時は拡張子を.txtに変更する
o.A()