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

前言

最近,新来的同事写接口,需要知道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()

到此这篇关于Unity之Luaframework框架lua调用C#方法的文章就介绍到这了,更多相关Unity Luaframework框架内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Unity中C#和Java的相互调用实例代码

    1.通过C#调用Java的方法: 在C#中添加调用的一些代码,利用Unity提供的一些接口实现调用Java! private const string JAVA_CLASS_Name = "com.unity3d.player.UnityPlayer"; private void CallJavaFunc(string javaFuncName, params object[] args) { try { //获取到AndroidJavaClass,至于这里为什么调用这个类,我也不是很

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

    前言 最近,新来的同事写接口,需要知道lua怎么调用C#脚本,趁这个机会也给大家分享一下.道理我也不多少,直接上干货. 框架介绍 本项目采用luaframework+ugui,详情咨询度娘. 框架: 创建C#类 首先写个C#脚本,这个脚本里的方法是我们需要在lua中调用的,这里需要调用的方法命名为ShirlnDebug using System.Collections; using System.Collections.Generic; using UnityEngine; public cla

  • C#和lua相互调用的方法教程

    前言 自从ulua在官网上出来后,lua 就被u3d开发人员喜爱.国内有几个高手把lua拿过来 接着进行了封装.很多都是新手转过来.lua语法一看遍知,但是大多数人还是不明白两个语言之间的互相调用是怎么一回事,这也是难点和重点.所以今天想跟大家分享一下这方面的知识,让大家少走弯路吧. Lua是一种很好的扩展性语言,Lua解释器被设计成一个很容易嵌入到宿主程序的库.LuaInterface则用于实现Lua和CLR的混合编程. C与lua交互面临以下几个问题: 1.由于lua里面的数据都是动态加载的

  • thinkPHP5.0框架验证码调用及点击图片刷新简单实现方法

    本文实例讲述了thinkPHP5.0框架验证码调用及点击图片刷新实现方法.分享给大家供大家参考,具体如下: 1.配置文件中增加验证码配置 'captcha' => [ // 验证码字符集合 'codeSet' => '23456789', // 验证码字体大小(px) 'fontSize' => 25, // 是否画混淆曲线 'useCurve' => false, // 验证码位数 'length' => 4, // 验证成功后是否重置 'reset' => true

  • 在Python的Django框架中调用方法和处理无效变量

    方法调用行为 方法调用比其他类型的查找略为复杂一点. 以下是一些注意事项: 在方法查找过程中,如果某方法抛出一个异常,除非该异常有一个 silent_variable_failure 属性并且值为 True ,否则的话它将被传播.如果异常被传播,模板里的指定变量会被置为空字符串,比如: >>> t = Template("My name is {{ person.first_name }}.") >>> class PersonClass3: ...

  • Lua调用自定义C模块

    这是<Lua程序设计>中提到的,但是想成功执行,对于初学Lua的确没那么简单.这里涉及如何如何生成一个动态链接库so文件:Lua5.2中导出函数从LuaL_register变成了LuaL_newlib.对于具体的细节有待深入.这里的模块名是hello_lib, Lua解释器会根据名字找到对应的模块,而后执行其中的 luaopen_XXX方法. 代码: #include <math.h> #include <lua5.2/lua.h> #include <lua5.

  • js防止页面被iframe调用的方法

    本文实例讲述了js防止页面被iframe调用的方法.分享给大家供大家参考.具体实现方法如下: 一.问题描述: 有时候我们发会现自己的网站页面被别人调用并且一模一样,这个其实就是简单的iframe调用了,下面我来给大家介绍js防止页面iframe调用的方法总结吧,有需要的朋友可参考 二.解决方法: 防止自己的网页被人框架: top.location.href 最上层的地址 windows.location.href自己的地址 self指代当前窗口对象,属于window最上层的对象; locatio

  • Zend Framework框架Smarty扩展实现方法

    本文实例讲述了Zend Framework框架Smarty扩展实现方法.分享给大家供大家参考,具体如下: 今天总结一下ZF框架中扩展Smarty模板的方法,在ZF帮助文档中已经有比较详细的介绍,在这我稍微多说一些. 一.将smarty的核心文件包放在lib文件夹下,文件包中要包括(internals/,plugins/,Config_File.class.php,Smarty.class.php,Smarty_Compiler.class.php,debug.tpl). 二.在Zend/View

  • CodeIgniter开发实现支付宝接口调用的方法示例

    本文实例讲述了CodeIgniter开发实现支付宝接口调用的方法.分享给大家供大家参考,具体如下: 准备: 1.alipay官方下载最新接口类库 2.解压后,将目录"\即时到账交易接口-create_direct_pay_by_user\demo\create_direct_pay_by_user-PHP-UTF-8\lib"复制到 application\third_party目录下,并改名lib为alipay 3.同样复制cacert.pem文件到"application

  • Windows窗体的.Net框架绘图技术实现方法

    本文实例讲述了Windows窗体的.Net框架绘图技术实现方法,非常实用,具体内容如下: 一般来说,当编写一个典型的Windows 窗体程序时,窗体和控件的绘制.效果等操作是不需要特别加以考虑的.这是为什么呢?因为通过使用 .Net 框架,开发人员可以拖动一系列的控件到窗体上,并书写一些简单的与事件相关联的代码然后在IDE中按F5,一个完完全全的窗体程序就诞生了!所有控件都将自己绘制自己,窗体或者控件的大小和缩放都调整自如.在这里经常会用到的,且需要引起一点注意的就是控件效果.游戏,自定义图表控

  • C#调用Java方法实例详解

    C#可以直接引用C++的DLL和转换JAVA写好的程序.最近由于工作原因接触这方面比较多,根据实际需求,我们通过一个具体例子把一个JAVA方法转换成可以由C#直接调用的DLL C#调用c++ C#调用C++的例子网上很多,以一个C++的具体方法为例. C++代码 // 获取一帧图像数据 MVSMARTCAMCTRL_API int __stdcall MV_SC_GetOneFrame(IN void* handle, IN OUT unsigned char *pData , IN unsig

随机推荐