Lua调用Unity完成登入注册

今天的内容是用Lua调用Unity完成登入注册,这里只是完成了一个很简单的功能哦

注意哦,这里间的Lua文件放在同一个过程的同一个文件夹下

这里用到了一个Lua模块

a=CS.UnityEngine--Lua调用C#需要这个前缀
One={}

function One.Init()
	b=123
    btn1=a.GameObject.Find("zc"):GetComponent(typeof(a.UI.Button))
	btn2=a.GameObject.Find("dr"):GetComponent(typeof(a.UI.Button))
    UserId=a.GameObject.Find("zh"):GetComponent(typeof(a.UI.InputField))
	UserPwd=a.GameObject.Find("mm"):GetComponent(typeof(a.UI.InputField))
	Tsk=a.GameObject.Find("tsk"):GetComponent(typeof(a.UI.Text))
	
	btn1.onClick:AddListener(ZC)
	btn2.onClick:AddListener(DR)
end

function ZC()
    file=io.open("D:\\unity3D\\Unity\\Lua\\Users.txt","a+")
	io.output(file)
	io.write(UserId.text.."\n"..UserPwd.text.."\n")
	io.close()
	Tsk.text="注册成功"
end

function DR()
    for i in io.lines("D:\\unity3D\\Unity\\Lua\\Users.txt") do
	    if i== UserId.text then
			if i== UserPwd.text then
				Tsk.text="登入成功"
			end
		else
			Tsk.text="账号或密码错误"
		end
    end	 
	
end

这里做了一个把账号密码存进文件的操作

接下来需要再建一个Lua文件来调用这个模块,这里就非常简单了

 因为我偷懒登入注册在同一个ui界面所以只有一个方法

C#去调用Lua,记得引入命名空间

using XLua;
using System.IO;

public class ZY_3_30 : MonoBehaviour
{
    LuaEnv lua;
    void Start()
    {
        lua = new LuaEnv();
        lua.AddLoader(Loads);
        lua.DoString("require('a')");
    } 

    byte[] Loads(ref string fileName)
    {
        string path = Application.dataPath + "/Lua/" + fileName + ".lua";
        return File.ReadAllBytes(path);

       
    }
    private void OnDestroy()
    {
        lua.Dispose();
    }

猜你喜欢

转载自blog.csdn.net/Optimistic_lx/article/details/129888444