当前位置: 首页 > news >正文

Lua调用C#协程

核心就是先require("xlua.util")

然后就可以通过cs_generator函数将方法传入

例如:mono:StartCoroutine(util.cs_generator(fun))

print("*********Lua调用C# 协程相关知识点***********")
--xlua提供的一个工具表
--一定是要通过require调用之后 才能用
util = require("xlua.util")
--C#中协程启动都是通过继承了Mono的类 通过里面的启动函数StartCoroutineGameObject = CS.UnityEngine.GameObject
WaitForSeconds = CS.UnityEngine.WaitForSeconds
--在场景中新建一个空物体  然后挂一个脚本上去 脚本继承mono使用它来开启协程
local obj = GameObject("Coroutine")
local mono = obj:AddComponent(typeof(CS.LuaCallCSharp))--希望用来被开启的协程函数 
fun = function()local a = 1while true do--lua中 不能直接使用 C#中的 yield return --就使用lua中的协程返回coroutine.yield(WaitForSeconds(1))print(a)a = a + 1if a > 10 then--停止协程和C#当中一样mono:StopCoroutine(b)endend
end
--我们不能直接将 lua函数传入到开启协程中!!!!!
--如果要把lua函数当做协程函数传入
--必须 先调用 xlua.util中的cs_generator(lua函数)
b = mono:StartCoroutine(util.cs_generator(fun))


http://www.mrgr.cn/news/19783.html

相关文章:

  • 如何保护服务器免受恶意软件攻击?
  • 深智城基于超融合数据库MatrixOne的一站式交通大数据平台改造
  • CSP-CCF ★201512-2 消除类游戏★
  • 322. 零钱兑换
  • 001集——CAD—C#二次开发入门——开发环境基本设置
  • 【Java】实体类Javabean
  • ELK学习笔记(三)——使用Filebeat8.15.0收集日志
  • 月考成绩单发布,这样做既保密又迅速!
  • 组件通信介绍
  • UML概述
  • 【C++】对比讲解构造函数和析构函数
  • 力扣704:二分查找
  • 软件开发过程模型(软件设计师)
  • 如何将ONLYOFFICE和Zapier进行集成?
  • 运维学习————kafka(1)
  • 图标下载网站推荐:从图标下载到全球顶级平台
  • EVPN学习
  • 24数学建模国赛提供助攻(14——偏最小二乘回归)
  • 枚举+数学,CF 449A - Jzzhu and Chocolate
  • 常见的管理系统简称