Unity XLua(五)Lua访问C#父类子类成员:构造函数+字段+方法

20 篇文章 4 订阅

Lua访问C#

C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using XLua;
using System.IO;
using System.Text;
using UnityEngine.UI;

public class TestXLua : MonoBehaviour
{
    LuaEnv lua;

    void Start()
    {
        lua = new LuaEnv();

        //加载Lua
        lua.AddLoader(LoadLua);
        lua.DoString("require 'TestLua'");
    }

    byte[] LoadLua(ref string file)
    {
        Debug.Log(file);
        string slua = File.ReadAllText(Application.dataPath + "/Lua/" + file + ".lua");
        byte[] bytes = new UTF8Encoding().GetBytes(slua);
        
        return bytes;
    }

    void OnDestroy()
    {
        lua.Dispose();
    }
}
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class FatherClass
{
    public string FCName = "父类";

    public FatherClass() 
    {
        Debug.Log("父类构造函数");
    }

    public void FCFunction() 
    {
        Debug.Log("父类方法");
    }
}
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class ChildClass : FatherClass 
{
    public string CCName = "子类";

    public ChildClass() 
    {
        Debug.Log("子类构造函数");
    }

    public void CCFunction()
    {
        Debug.Log("子类方法");
    }
}

Lua

调用构造函数

child = CS.ChildClass
childObj = child()

调用方法

child = CS.ChildClass
childObj = child()
childObj:CCFunction()
child = CS.ChildClass
childObj = child()
childObj.CCFunction(childObj)

调用父类/子类的字段与方法

child = CS.ChildClass
childObj = child()
print(childObj.FCName)
childObj:FCFunction()
print(childObj.CCName)
childObj:CCFunction()

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值