unity-实时调试某个lua类的方法

来源:互联网 发布:驾校一点通软件 编辑:程序博客网 时间:2024/05/18 01:34
  • 一般情况下,修改lua后都要重新启动unity编辑器才有效。如果只是调试某几个方法时,修改后又要重启也是有点蛋疼
  • 辣么这时候以下方法就有效了。

这个是给QC做个rpc上行测试时,发现也可以这么玩。
原理很简单,就是使用lua的dofile加载并执行某个lua文件,在这个lua文件中,重写需要调试的方法。
需要注意上下文的环境


  1. 重写前的 bubble_chat.lua

    CBubbleChat = class()CBubbleChat.Init = function(self)    self._test1 = "hello world"endCBubbleChat.SetFollowTarget = function(self)    Logger.debug("--- <color=yellow>CBubbleChat</color>\n{0}", debug.traceback("SetFollowTarget", 2))end
    • 执行结果
      这里写图片描述
  2. 在待执行的lua文件 q6rpc.lua 中重写

    local function send(upRpcName, args)end-- 此文件必须放在D盘根目录,切文件名为q6rpc.lualocal CBubbleChat = Import("logic/ui/chat/bubble_chat").CBubbleChatCBubbleChat.SetFollowTarget = function(self)    print("--- 我勒个去之"..self._test1)end-- local gUpRpcName = "rpc_server_add_friend"-- local gArgs = {111, 222}-- xpcall(send, __G__TRACKBACK__, gUpRpcName, gArgs)
  3. dofile一下这个文件

    CUIChatLogic.ExeFile = function(self)    local path = "D:/q6rpc.lua"    dofile(path)end
  4. 再次执行到这个方法的结果
    这里写图片描述

0 0
原创粉丝点击