ulua介绍和使用_命名空间


ulua介绍和使用_命名空间_02


ulua介绍和使用_命名空间_03


ulua介绍和使用_命名空间_04


ulua介绍和使用_命名空间_05


ulua介绍和使用_ide_06


ulua介绍和使用_lua_07


ulua介绍和使用_命名空间_08


ulua介绍和使用_lua_09


ulua介绍和使用_lua_10

void Start()
{
LuaState luaState=new LuaState();
luaState.DoString("print(233)");
}

lua代码创建物体

ulua介绍和使用_lua_11


ulua介绍和使用_命名空间_12

using LuaInterface;
using UnityEngine;
using UnityEngine.Experimental.UIElements;

public class LuaForUnity : MonoBehaviour
{
private string str = @"
luanet.load_assembly('UnityEngine')--加载命名空间
local gameObject=luanet.import_type('UnityEngine.GameObject')--加载命名空间下的类
BoxCollider=luanet.import_type('UnityEngine.BoxCollider')
local player=gameObject('新物体') --实例化
player:AddComponent(luanet.ctype(BoxCollider)) --添加碰撞器
";
void Start()
{
//创建解析器
LuaState luaState=new LuaState();
luaState.DoString(str);
}
}

ulua介绍和使用_lua_13


lua代码创建物体wrap方式

ulua介绍和使用_命名空间_14


ulua介绍和使用_ide_15

包装新的wrap脚本

ulua介绍和使用_命名空间_16


ulua介绍和使用_lua_17


ulua介绍和使用_ide_18


WrapFile

_GT(typeof(Animator)),
private string str1 = @"luanet.load_assembly('UnityEngine')
GameObject=UnityEngine.GameObject
BoxCollider=UnityEngine.BoxCollider
Animator=UnityEngine.Animator
local player=GameObject('新物体') --实例化
player:AddComponent(BoxCollider.GetClassType())
player:AddComponent(Animator.GetClassType())
";
void Start()
{

LuaScriptMgr lua=new LuaScriptMgr();
lua.Start();
lua.DoString(str1);
}

ulua介绍和使用_ide_19