当前位置 博文首页 > 文章内容

    Unity之Luaframework框架lua调用C#方法

    作者:shunshunshun18 栏目:未分类 时间:2021-09-07 14:45:24

    本站于2023年9月4日。收到“大连君*****咨询有限公司”通知
    说我们IIS7站长博客,有一篇博文用了他们的图片。
    要求我们给他们一张图片6000元。要不然法院告我们

    为避免不必要的麻烦,IIS7站长博客,全站内容图片下架、并积极应诉
    博文内容全部不再显示,请需要相关资讯的站长朋友到必应搜索。谢谢!

    另祝:版权碰瓷诈骗团伙,早日弃暗投明。

    相关新闻:借版权之名、行诈骗之实,周某因犯诈骗罪被判处有期徒刑十一年六个月

    叹!百花齐放的时代,渐行渐远!



    前言

    最近,新来的同事写接口,需要知道lua怎么调用C#脚本,趁这个机会也给大家分享一下。道理我也不多少,直接上干货。

    框架介绍

    本项目采用luaframework+ugui,详情咨询度娘。
    框架:

    创建C#类

    首先写个C#脚本,这个脚本里的方法是我们需要在lua中调用的,这里需要调用的方法命名为ShirlnDebug

    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    
    
    public class ShirlnManager
    {
        public void ShirlnDebug()
        {
            UnityEngine.Debug.Log("ShirlnManager ====Debug");
        }
    }

    C#类注册到lua类型列表

    在CustomSettings中添加C#类型,将其注册到lua的类型列表,方法如下:

    在这里插入图片描述

    清除warp文件

    回到工程执行下列操作,执行成功后会弹出一个确认框,点击确认就ok1了,这步相当于先删除warp文件,再生成新的warp文件。

    在这里插入图片描述

    成功后会自动添加下列代码

    在这里插入图片描述

    并且在对应目录生成warp文件

    在这里插入图片描述

    lua调用C#

    前面做了这么多工作,其实都是准备工作,准备工作既然完成了,接下来,就是正常的调用了。就是这么简单!
    调用方法如下:

    ShirlnInstant = ShirlnManager.New()
    ShirlnInstant:ShirlnDebug()