Giter Site home page Giter Site logo

luaframework_ugui_v2's Introduction

LuaFramework_UGUI_V2

基于tolua的热更新框架集成lockstep的实例

更新内容:
(1)更新LuaFramework_UGUI最新tolua版本,以支持安卓arm64平台。
(2)集成RUDP库https://github.com/RevenantX/LiteNetLib
(3)增加基于LiteNetLib的lockstep的例子demo。

【关于Unity3D的版本问题】 目前打算用Unity5.0.0的版本,因为很多人依然在用较低版本,我们之后也会抽空去征求多数人的建议, 如果有必要,我们也会支持较高版本的Unity.

2019/07/15更新日志 将LuaFrameworkd_UGUI_V2升级到2018/2019的高版本,打算弃用5.3以下的版本, 而且以后走GooglePlay的话, 64位最低版本要2017.4.

【关于LiteNetLib网络库】 目前的LiteNetLib网络库尚未使用最新的master版本,因为兼容性问题尚在修复,等LockStep的demo之后 push后,会将LiteNetLib升级. 敬请关注!

目前在开发新版框架,如果有技术问题,加微信jarjin,拉微信群,帮你们解决

luaframework_ugui_v2's People

Contributors

gyk92 avatar jarjin avatar jarjin2000 avatar meniscuslight avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

luaframework_ugui_v2's Issues

2019.1.9f1 导入最新版本的luaframework以后报错

Assets\LuaFramework\ToLua\Source\Generate\UnityEngine_LightWrap.cs(101,8): error CS1061: 'Light' does not contain a definition for 'SetLightDirty' and no accessible extension method 'SetLightDirty' accepting a first argument of type 'Light' could be found (are you missing a using directive or an assembly reference?)
Assets\LuaFramework\ToLua\Source\Generate\UnityEngine_QualitySettingsWrap.cs(1107,4): error CS0200: Property or indexer 'QualitySettings.streamingMipmapsRenderersPerFrame' cannot be assigned to -- it is read only
Error building Player because scripts had compiler errors

请问是因为2019.1.9f1不兼容么?

2019.2.0f1打包就提示错误

Assets\LuaFramework\ToLua\Source\Generate\UnityEngine_LightWrap.cs(101,8): error CS1061: 'Light' does not contain a definition for 'SetLightDirty' and no accessible extension method 'SetLightDirty' accepting a first argument of type 'Light' could be found (are you missing a using directive or an assembly reference?)

unity 2020.2.2f1c1中ParticleSystem生成wrap出错

在处理ParticleSystem中GetParticles(NativeArray particles)方法时报空。去除ParticleSystem后生成成功。

自己加的log:
GetElementType is null type:Unity.Collections.NativeArray`1[UnityEngine.ParticleSystem+Particle]
UnityEngine.Debug:LogFormat (string,object[])
ToLuaExport/_MethodBase:GenParamTypes (int) (at Assets/LuaFramework/ToLua/Editor/ToLuaExport.cs:299)
ToLuaExport:GenOverrideFuncBody (ToLuaExport/_MethodBase,bool,int) (at Assets/LuaFramework/ToLua/Editor/ToLuaExport.cs:2779)
ToLuaExport:GenOverrideFunc (string) (at Assets/LuaFramework/ToLua/Editor/ToLuaExport.cs:2899)
ToLuaExport:GenFunctions () (at Assets/LuaFramework/ToLua/Editor/ToLuaExport.cs:1573)
ToLuaExport:Generate (string) (at Assets/LuaFramework/ToLua/Editor/ToLuaExport.cs:788)
ToLuaMenu:GenerateClassWraps () (at Assets/LuaFramework/ToLua/Editor/ToLuaMenu.cs:378)
ToLuaMenu:GenLuaAll () (at Assets/LuaFramework/ToLua/Editor/ToLuaMenu.cs:912)

报空的位置:
ArgumentNullException: Value cannot be null.
System.RuntimeType.MakeGenericType (System.Type[] instantiation) (at <9577ac7a62ef43179789031239ba8798>:0)
ToLuaExport+_MethodBase.GenParamTypes (System.Int32 offset) (at Assets/LuaFramework/ToLua/Editor/ToLuaExport.cs:300)
ToLuaExport.GenOverrideFuncBody (ToLuaExport+_MethodBase md, System.Boolean beIf, System.Int32 checkTypeOffset) (at Assets/LuaFramework/ToLua/Editor/ToLuaExport.cs:2779)
ToLuaExport.GenOverrideFunc (System.String name) (at Assets/LuaFramework/ToLua/Editor/ToLuaExport.cs:2899)
ToLuaExport.GenFunctions () (at Assets/LuaFramework/ToLua/Editor/ToLuaExport.cs:1573)
ToLuaExport.Generate (System.String dir) (at Assets/LuaFramework/ToLua/Editor/ToLuaExport.cs:788)
ToLuaMenu.GenerateClassWraps () (at Assets/LuaFramework/ToLua/Editor/ToLuaMenu.cs:378)
ToLuaMenu.GenLuaAll () (at Assets/LuaFramework/ToLua/Editor/ToLuaMenu.cs:912)

Unity 2019.1.2f1 Light SetLightDirty

使用的是2019.1.2f1版本,Build Mac平台资源是依然报错
Assets/LuaFramework/ToLua/Source/Generate/UnityEngine_LightWrap.cs(101,8): error CS1061: 'Light' does not contain a definition for 'SetLightDirty' and no accessible extension method 'SetLightDirty' accepting a first argument of type 'Light' could be found (are you missing a using directive or an assembly reference?)

Assets/LuaFramework/ToLua/Source/Generate/UnityEngine_QualitySettingsWrap.cs(1107,4): error CS0200: Property or indexer 'QualitySettings.streamingMipmapsRenderersPerFrame' cannot be assigned to -- it is read only
如果单纯注释掉绑定的话,那lua就用不了这两个类吧,请问有没有什么其他解决方案呢?

Xcode新版本变异报错,恢复老的libtolua.a之后正常

Undefined symbols for architecture arm64:
"_luaL_typerror", referenced from:
_class_new_event in libtolua.a(tolua-4fdd60e5a983f0d51403d8d2bcca4a4cae808a71e9a25a883e308baf21daefe6.o)
_tolua_initsettable in libtolua.a(tolua-4fdd60e5a983f0d51403d8d2bcca4a4cae808a71e9a25a883e308baf21daefe6.o)
_tolua_initgettable in libtolua.a(tolua-4fdd60e5a983f0d51403d8d2bcca4a4cae808a71e9a25a883e308baf21daefe6.o)
__long in libtolua.a(int64.o)
__int64tostring in libtolua.a(int64.o)
__int64tonum2 in libtolua.a(int64.o)
_tolua_checkint64 in libtolua.a(int64.o)
...
(maybe you meant: _LuaDLL_luaL_typerror_m495D9A5771C1814ABDFDB1C4EEA3DCD82BFAA08A, _LuaDLL_luaL_typerror_m495D9A5771C1814ABDFDB1C4EEA3DCD82BFAA08A_MetadataUsageId )
"_lua_tointegerx", referenced from:
_encode in libtolua.a(lsproto.o)

2019.1.2f1版本打包报错

用了2019.1.2f1版本,打包时报错:

`CommandInvokationFailure: Failed to link 'libunity.so'.
C:/Program Files/Unity/Hub/Editor/2019.1.12f1/Editor/Data/PlaybackEngines/AndroidPlayer/NDK/toolchains/llvm/prebuilt/windows-x86_64/bin/clang++.exe @"Temp/StagingArea/strip/armeabi-v7a/libunity.rsp"

stderr[
Temp/StagingArea/Il2Cpp/Managed/UnityICallRegistration.cpp:6383: error: undefined reference to 'Register_UnityEngine_ParticleSystem_SubEmittersModule_get_birth0_Injected()'
Temp/StagingArea/Il2Cpp/Managed/UnityICallRegistration.cpp:6387: error: undefined reference to 'Register_UnityEngine_ParticleSystem_SubEmittersModule_get_birth1_Injected()'
Temp/StagingArea/Il2Cpp/Managed/UnityICallRegistration.cpp:6391: error: undefined reference to 'Register_UnityEngine_ParticleSystem_SubEmittersModule_get_collision0_Injected()'
Temp/StagingArea/Il2Cpp/Managed/UnityICallRegistration.cpp:6395: error: undefined reference to 'Register_UnityEngine_ParticleSystem_SubEmittersModule_get_collision1_Injected()'
Temp/StagingArea/Il2Cpp/Managed/UnityICallRegistration.cpp:6399: error: undefined reference to 'Register_UnityEngine_ParticleSystem_SubEmittersModule_get_death0_Injected()'
Temp/StagingArea/Il2Cpp/Managed/UnityICallRegistration.cpp:6403: error: undefined reference to 'Register_UnityEngine_ParticleSystem_SubEmittersModule_get_death1_Injected()'
clang++.exe: error: linker command failed with exit code 1 (use -v to see invocation)
]
stdout[

]
exit code: 1
UnityEditor.Android.Command.WaitForProgramToRun (UnityEditor.Utils.Program p, UnityEditor.Android.Command+WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg) (at <1a10f9035b6b403994c99e5b653643c6>:0)
UnityEditor.Android.Command.Run (System.Diagnostics.ProcessStartInfo psi, UnityEditor.Android.Command+WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg) (at <1a10f9035b6b403994c99e5b653643c6>:0)
UnityEditor.Android.Command.Run (System.String command, System.String args, System.String workingdir, System.String errorMsg) (at <1a10f9035b6b403994c99e5b653643c6>:0)
UnityEditor.Android.PostProcessor.Tasks.BuildSharedLibrary.Link (UnityEditor.Android.PostProcessor.PostProcessorContext context, UnityEditor.Android.AndroidNDKTools ndk, UnityEditor.Android.AndroidTargetDeviceType deviceType, System.Collections.Generic.IEnumerable1[T] objects) (at <1a10f9035b6b403994c99e5b653643c6>:0) UnityEditor.Android.PostProcessor.Tasks.BuildSharedLibrary.Build (UnityEditor.Android.PostProcessor.PostProcessorContext context, UnityEditor.Android.AndroidNDKTools ndk, UnityEditor.Android.AndroidTargetDeviceType deviceType) (at <1a10f9035b6b403994c99e5b653643c6>:0) UnityEditor.Android.PostProcessor.Tasks.BuildSharedLibrary.Execute (UnityEditor.Android.PostProcessor.PostProcessorContext context) (at <1a10f9035b6b403994c99e5b653643c6>:0) UnityEditor.Android.PostProcessor.PostProcessRunner.RunAllTasks (UnityEditor.Android.PostProcessor.PostProcessorContext context) (at <1a10f9035b6b403994c99e5b653643c6>:0) Rethrow as BuildFailedException: Exception of type 'UnityEditor.Build.BuildFailedException' was thrown. UnityEditor.Android.PostProcessor.CancelPostProcess.AbortBuild (System.String title, System.String message, System.Exception ex) (at <1a10f9035b6b403994c99e5b653643c6>:0) UnityEditor.Android.PostProcessor.PostProcessRunner.RunAllTasks (UnityEditor.Android.PostProcessor.PostProcessorContext context) (at <1a10f9035b6b403994c99e5b653643c6>:0) UnityEditor.Android.PostProcessAndroidPlayer.PostProcess (UnityEditor.BuildTarget target, System.String stagingAreaData, System.String stagingArea, System.String playerPackage, System.String installPath, System.String companyName, System.String productName, UnityEditor.BuildOptions options, UnityEditor.RuntimeClassRegistry usedClassRegistry, UnityEditor.Build.Reporting.BuildReport report) (at <1a10f9035b6b403994c99e5b653643c6>:0) UnityEditor.Android.AndroidBuildPostprocessor.PostProcess (UnityEditor.Modules.BuildPostProcessArgs args, UnityEditor.BuildProperties& outProperties) (at <1a10f9035b6b403994c99e5b653643c6>:0) UnityEditor.PostprocessBuildPlayer.Postprocess (UnityEditor.BuildTargetGroup targetGroup, UnityEditor.BuildTarget target, System.String installPath, System.String companyName, System.String productName, System.Int32 width, System.Int32 height, UnityEditor.BuildOptions options, UnityEditor.RuntimeClassRegistry usedClassRegistry, UnityEditor.Build.Reporting.BuildReport report) (at D:/unity/Editor/Mono/BuildPipeline/PostprocessBuildPlayer.cs:281) UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr)

求告知生成wrap文件时报错怎么解决?报错内容如下

System.ArgumentNullException: Value cannot be null.
at System.RuntimeType.MakeGenericType (System.Type[] instantiation) [0x00069] in :0
at ToLuaExport+_MethodBase.GenParamTypes (System.Int32 offset) [0x00094] in D:\other\Desktop\LuaFramework_UGUI_V2-master\Assets\LuaFramework\ToLua\Editor\ToLuaExport.cs:298
at ToLuaExport.GenOverrideFuncBody (ToLuaExport+_MethodBase md, System.Boolean beIf, System.Int32 checkTypeOffset) [0x0012e] in D:\other\Desktop\LuaFramework_UGUI_V2-master\Assets\LuaFramework\ToLua\Editor\ToLuaExport.cs:2777
at ToLuaExport.GenOverrideFunc (System.String name) [0x00173] in D:\other\Desktop\LuaFramework_UGUI_V2-master\Assets\LuaFramework\ToLua\Editor\ToLuaExport.cs:2897
at ToLuaExport.GenFunctions () [0x0007c] in D:\other\Desktop\LuaFramework_UGUI_V2-master\Assets\LuaFramework\ToLua\Editor\ToLuaExport.cs:1571
at ToLuaExport.Generate (System.String dir) [0x000b7] in D:\other\Desktop\LuaFramework_UGUI_V2-master\Assets\LuaFramework\ToLua\Editor\ToLuaExport.cs:786
at ToLuaMenu.GenerateClassWraps () [0x00112] in D:\other\Desktop\LuaFramework_UGUI_V2-master\Assets\LuaFramework\ToLua\Editor\ToLuaMenu.cs:376
at ToLuaMenu..cctor () [0x00340] in D:\other\Desktop\LuaFramework_UGUI_V2-master\Assets\LuaFramework\ToLua\Editor\ToLuaMenu.cs:118
UnityEditor.EditorAssemblies:ProcessInitializeOnLoadAttributes() (at E:/unity/Editor/Mono/EditorAssemblies.cs:168)

2018.3.8f1导入就报错

先是提示找不到 AsyncCompletedEventHandler 在ThreadManager.cs 111行,添加了引用后,
又报 The type or namespace name 'DelegateFactory' could not be found ,是不支持这个版本吗?

protobuff.lua在Android 64位机器上报错

_env_new报错

E/Unity: LuaException: bad light userdata pointer
stack traceback:
[C]: in function '_env_new'
engine.protobuf:33: in main chunk
[C]: in function 'DoRequire'

local P = c._env_new()
local GC = c._gc(P)

编译例子的时候报错误 'IsSZArray'

Assets\LuaFramework\ToLua\BaseType\System_TypeWrap.cs(2302,19): error CS1061: 'Type' does not contain a definition for 'IsSZArray' and no accessible extension method 'IsSZArray' accepting a first argument of type 'Type' could be found (are you missing a using directive or an assembly reference?)

环境, vs2015, Unity2019.1.4
Scripting Runtime Version * .Net 4.x Equivalent
Api Compatibility Level * .NetStandard 2.0

关闭luabundle模式报错

LuaException: list:357: attempt to call global 'setmetatable' (a nil value)
stack traceback:
list:357: in function 'new'
event:186: in function 'event'
event:190: in main chunk
[C]: in function 'require'
tolua.lua:44: in main chunk

请问怎么用 lua 加载 lua ab包 并且更新已加载的lua

如题, 此框架 目前唯一缺点 ,如果工程大,加载与更新资源时间长,加载与更新的界面如果使用的 c# 写死,意味着 加载 与 更新界面无法进行热更新

我在其他大型仙侠3D手游源码看的 tolua 热更新原理, 整个 c# 就调用 一个 lua 文件作为入口,其他一切热更新 全部采用 lua ,包括 加载界面 与 更新界面,更新完成 自动重载 所有lua 并且重新显示新的 界面 加载一次,由于 此游戏工程过于庞大 ,无法研究透 此原理

关于unity2019.1x版本之后生成wrap报错

大部分的报错应该是unity官方改了某些类方法或者变量的使用权限,我用的unity 2019.2.41f版本,会有四个报错,根据报错查unity api发现权限都改成了editor only,无法使用,所以我直接在ToLuaExport.cs中的memberFilter 列表中添加了需要屏蔽导出的字段或者方法,作者此前已经有一些过滤的方法,添加之后就没有报错了 //unity 新版本新增屏蔽 2019.2.41f "Light.SetLightDirty", "MeshRenderer.receiveGI", "MeshRenderer.receiveGI", "QualitySettings.streamingMipmapsRenderersPerFrame",

ToLua更新

请问什么时候更新到最新的ToLua,听说解决了64位的崩溃问题

App Store 审核不通过

给公司的unity游戏用了LuaFramework_UGUI_V2后,提交App Store 审核不通过,lua脚本和资源都打进了ipa包里审核期间并没有下载任何lua脚本的,官方有人知道怎么解决吗
Guideline 2.5.2 -Performance -Software Requirements
During review, we still found that your app downloaded code, as part of the app launch sequence, including support for remote luascript retrieval, which is not permitted on the App Store.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.