Xlua中LuaBehaviour的实现】的更多相关文章

简介   在基于lua进行热更新的项目中,我们通常会通过luaBehaviour来让lua文件模拟MonoBehaviour,可以让lua文件拥有一些MonoBehaviour的生命周期,如Enable.Disable.Update.   同时可以注入一些UnityEngine.Object.在lua中方便的调用Unity中的对象.方便开发者进行开发.   本文进行介绍的luaBehaviour就是基于这个思路设计的,除了上面提到的特性之外还通过Json支持了更多类型的注入,Editor界面更人…
前言 在xlua的lua脚本中使用dotween,官方的文档中有提到可以导出,但未介绍详细的步骤,相信比较多的朋友有需要,刚好项目中也在使用xlua和dotween,所以做个笔记. 基础知识: xLua:https://github.com/Tencent/xLua dotween:http://dotween.demigiant.com/ 关于dotween的使用,可以参考我之前的文章 DOTween文档 DoTween(HOTween V2) 教程 我的测试环境: xLua 2.1.6 do…
 xLua中lua文件加载方式 1. 直接执行字符串方式 LuaEnv luaenv = new LuaEnv(); luaenv.DoString("CS.UnityEngine.Debug.Log('hello world')"); luaenv.Dispose(); 2. 通过require加载lua文件方式,require加载的文件路径包括Resources和内置的一些路径.在Resources下存放一个HelloWorld.lua.txt文件 LuaEnv luaenv =…
C#调用Lua 一.前提 这里使用的是XLua框架,需要提前配置xlua,设置加载器路径: 可以参考之前的Blog:<xlua入门基础>: 二.C#调用Lua全局变量 lua中所有的全局变量都会存在一个表中,对应xLua中的Global,通过lua解释器返回出来: 通过Global的方法Get<类型>(key)调用; --Lua代码 num = 199 name = "littlePerilla" hp = 2112.121 active = true //c#…
xLua中Lua调用C# 1.前提 这里使用的是XLua框架,需要提前配置xlua,设置加载器路径: 可以参考之前的Blog:<xlua入门基础>: //调用段,所有的lua代码都写在LuaCallCSharp.lua文件中 public class LuaCallCSharp1 : MonoBehaviour { void Start() { XluaEnv.I.DoString("LuaCallCSharp"); } private void OnDestroy() {…
lua中的类型 基础类型 #define LUA_TNIL 0 #define LUA_TBOOLEAN 1 #define LUA_TLIGHTUSERDATA 2 #define LUA_TNUMBER 3 #define LUA_TSTRING 4 #define LUA_TTABLE 5 #define LUA_TFUNCTION 6 #define LUA_TUSERDATA 7 #define LUA_TTHREAD 8 变体(或者说子类型) /* ** tags for Tagge…
http://blog.csdn.net/u010019717/article/details/77510066?ref=myread http://blog.csdn.NET/u010019717 推荐一下这个国人弄的基于IntelliJ IDE 弄得插件 EmmyLua .  他的QQ群: 29850775 github: https://github.com/tangzx/IntelliJ-EmmyLua oschina: http://git.oschina.net/tangzx/Int…
转载请标明出处:http://www.cnblogs.com/zblade/ 一.概述 整理遇到的一些较难处理的bug,总结相关经验 二.主要问题 2.1 material类型的依赖修改 对于material类型的asset,如果修改了其shader,对应的texture也修改了,并不会立刻刷新,从而导致以前的依赖的texture也会被打入到当前的ab依赖关系中.解决办法,对于material类型,则通过EditorUtility.CollectDependencies 来剔除这种冗余的依赖,具…
C#中的协程: IEnumerator ShowSpiritInfo() { UIMessageMgr.ShowMsgWait(true); DestroyUIModelInfo(); bool isLoad = false; AppInterface.GUIModule.CreateUISpirit(currSpiritId, delegate(UISpirit sp) { infoTextureCtrl.TargetSpirit = sp; infoTextureCtrl.ui_Tx.wid…
问题的来源之这样的: 线上项目遇到一个问题,就是子类 override 了父类的一个 virtual 方法,并且调用到了父类里面的 virtual 方法.现在子类  override 的方法里有一些错误逻辑,希望通过 xlua 去修复.类似如下的代码: using System; using UnityEngine; namespace LGSTEST { public class LgsParent : MonoBehaviour { public virtual void ShowName(…