为人所知的是lua自带的require函数加载脚本只会加载一次(就像unity里面的资源管理和AB包管理),而主播调试习惯是用Odin插件的Button在unity编辑器模式里调试而非进入播放模式后调试,今天主播在做热更新相关的时候企图多次调用脚本打印以调试功能,而有时候有些模块需要反复加载,因而主播随便写了个模块管理器。不到好不好用,主要是其一键卸载所有模块好用。


if TDKLuaTookit==nil then
TDKLuaTookit={}
end
TDKLuaTookit.TDKTookit={}
TDKLuaTookit.TDKTookit.__index=TDKLuaTookit.TDKTookit
TDKLuaTookit.TDKTookit.__newindex=TDKLuaTookit.TDKTookit
TDKTookit={}
setmetatable(TDKTookit,TDKLuaTookit.TDKTookit)
TDKTookit.FileDic={}
--本来想用usenamespace的,想想这玩意是能卸载的,还是叫模块比较合适哈--加载模块
function loadModule(name)if TDKTookit.FileDic[name] then-- 已经加载过,直接返回缓存return TDKTookit.FileDic[name]endlocal ok, result = pcall(require, name)if not ok thenerror("加载模块失败: " .. tostring(result))endTDKTookit.FileDic[name] = resultreturn result
end
--卸载模块
function unloadModule(name)TDKTookit.FileDic[name] = nilpackage.loaded[name] = nil
end
--重载模块
function reloadModule(name)TDKTookit.unloadModule(name)return TDKTookit.loadModule(name)
end
--列出模块
function listModules(boolPrint)if(boolPrint) thenprint("当前已加载的自定义模块:")for k, v in pairs(TDKTookit.FileDic) doprint(" - " .. k)endendreturn TDKTookit.FileDic
end--卸载所有模块
function unloadAllModule()for k,v in pairs(TDKTookit.FileDic) doTDKTookit.unloadModule(k)end
end

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/96359.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/96359.shtml
英文地址,请注明出处:http://en.pswp.cn/diannao/96359.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MongoDB 分片集群复制数据库副本

文章目录一、登录MongoDB查询数据库及集合分片情况二、登录MongoDB先创建副本数据库并设置数据库及集合分片功能三、登录MongoDB查询emop_slinkmain数据库main_repetition集合和四、使用mongodump压缩备份emop_slinkmain数据库中的main_repetition集合和shard_repetition 集合五…

SQLite 加密与不加密性能对比与优化实践

在项目中,为了保证数据安全,我们可能会对 SQLite 数据库进行加密(例如使用 SQLiteMC/SQLCipher)。然而,加密数据库在带来安全性的同时,也会带来显著的性能损耗。本文结合实测与源码分析,介绍 SQ…

Azure官网为何没直接体现专业服务

微软Azure官网没有直接、醒目地展示其专业服务(如迁移、定制化解决方案咨询等),确实容易让人疑惑。这背后其实是微软Azure特定的市场策略和商业模式。下面我为你解释原因,并告诉你怎么找到这些服务。🧩 核心原因&#…

人体生理参数信号采集项目——心电信号

1.硬件——焊接调试趣事:由于测量手法问题,以及对示波器不太熟悉,差点以为没信号,都打算重焊一块板子了,但,实际上,信号输出是相对完美的;遇到的疑难杂症:1)5…

Go1.25的源码分析-src/runtime/runtime1.go(GMP)g

1. 主要组成部分 Go语言的GMP调度器基于四个核心数据结构:g、m、p和schedt。 1.1 主要常量解读 1.1.1G 状态常量 const (_Gidle iota //刚分配尚未初始化的 G_Grunnable//已在运行队列上,未执行用户代码;栈未被该 G 拥有_Grunning//正在…

使用jwt+redis实现单点登录

首先理一下登录流程 前端登录—>账号密码验证—>成功返回token—>后续请求携带token---->用户异地登录---->本地用户token不能用,不能再访问需要携带token的网页 jwt工具类 package com.nageoffer.shortlink.admin.util;import cn.hutool.core.util.…

Trae配置rules与MCP

这个文章不错,不过如果只是看,还感受不到作者的震撼,所以我自己实操了一下,深受震动,也希望看到这篇文章的人也自己实操一下。 与Cursor结对编程的四个月,我大彻大悟了! 学到了什么 无论是熟悉…

对抗攻击与防御:如何保护视觉模型安全?

对抗攻击与防御:如何保护视觉模型安全? 前言 一、对抗攻击的基本原理 二、对抗攻击的主要类型 2.1 白盒攻击 2.2 黑盒攻击 三、对抗攻击的常见形式 3.1 定向攻击 3.2 非定向攻击 四、对抗防御的核心思路 五、常见的对抗防御方法 5.1 对抗训练 5.2 输入预处理 5.3 防御蒸馏 六…

区块链开发:Solidity 智能合约安全审计要点

本文聚焦区块链开发中 Solidity 智能合约的安全审计要点。首先概述智能合约安全审计的重要性,接着详细介绍常见的安全漏洞,如重入攻击、整数溢出与下溢等,以及对应的审计方法。还阐述了审计的具体流程,包括自动化工具检测、手动代…

C++ 新手第一个练手小游戏:井字棋

1. 引言 介于身边有特别多没有学习过编程,或者有一定C语言、python或是Java基础的但是没有接触过C的新手朋友,我想可以通过一个很简单的小项目作为挑战,帮助大家入门C。 今天,我们将挑战一个对新手来说稍微复杂一点,…

透射TEM 新手入门:快速掌握核心技能

目录 简介​ 一、TEM 基本知识 1. 核心原理(理解图像本质)​ 2. 关键结构与成像模式(对应图像类型)​ 二、TEM 数据处理 1. 预处理(通用步骤)​ 2. 衍射花样(SAED)处理&#x…

day075-MySQL数据库服务安装部署与基础服务管理命令

文章目录0. 老男孩思想-老男孩名言警句1. 数据库服务安装部署1.1 下载安装包1.2 系统环境准备1.2.1 关闭防火墙1.2.2 关闭selinux1.2.3 安装依赖软件1.2.4 卸载冲突软件1.3 安装程序1.3.1 上传软件包1.3.2 配置环境变量1.3.3 创建数据库存储数据目录1.3.4 创建数据库程序管理用…

Qt二维码生成器项目开发教程 - 从零开始构建专业级QR码生成工具

Qt二维码生成器项目开发教程 - 从零开始构建专业级QR码生成工具 项目概述 本项目是一个基于Qt框架开发的专业级二维码生成器,集成了开源的qrencode库,提供完整的QR码生成、预览、保存和分享功能。项目采用C语言开发,使用Qt的信号槽机制实现…

LLaVA-3D,Video-3D LLM,VG-LLM,SPAR论文解读

目录 一、LLaVA-3D 1、概述 2、方法 3、训练过程 4、实验 二、Video-3D LLM 1、概述 2、方法 3、训练过程 4、实验 三、SPAR 1、概述 2、方法 4、实验 四、VG-LLM 1、概述 2、方法 3、方法 4、实验 一、LLaVA-3D 1、概述 空间关系不足:传…

Spring两个核心IoCDI(二)

DI(依赖注入)就是从IoC容器中获取对象并赋值给某个属性,这就是依赖注入的过程。 关于依赖注入有3种方式: 1、属性注入 2、构造方法注入 3、setter注入 目录 1、属性注入 2、 构造方法注入 3、Setter方法注入 4、3种注入方式优…

广东省省考备考(第八十三天8.21)——言语、判断推理(强化训练)

言语理解与表达 错题解析 文段开篇介绍足够的执法权限对于基层治理高效运行的重要性,接着从两方面进行论证,介绍权限不足和权限过度下放对基层治理的负面影响,最后通过“因此”进行总结,强调一方面要完善执法目录动态调整机制和制…

字符串与算法题详解:最长回文子串、IP 地址转换、字符串排序、蛇形矩阵与字符串加密

字符串与算法题详解:最长回文子串、IP 地址转换、字符串排序、蛇形矩阵与字符串加密 前言 在编程题训练中,字符串相关的题目非常常见。本文将结合几个典型的例题,详细解析它们的解题思路和实现方式,帮助初学者循序渐进地掌握常用技…

从协同设计到绿色制造:工业云渲染的价值闭环

在智能制造、建筑工程、能源电力、船舶海工等工业场景中,3D可视化已从传统的桌面端逐步向Web端迁移,Web 3D凭借其跨平台、轻量化、实时交互等特性,已成为企业构建数字孪生、实现远程协作、推动云端交付的重要工具。这场技术变革不仅改变了工业…

算法第五十一天:图论part02(第十一章)

1.岛屿数量 99. 岛屿数量 🌟 思路总结 — DFS 版 1️⃣ 问题本质 给定一个二维矩阵 grid,1 表示陆地,0 表示水 统计岛屿数量,每个岛屿由上下左右相邻的陆地组成 本质是 在二维网格中找连通块 的问题。 2️⃣ 核心思路 遍历矩阵…

杰里708n tws api 简介

/** 通过搜索码搜索tws设备*/int tws_api_search_sibling_by_code();/**打开可发现, 可连接,可被手机和tws搜索到*/int tws_api_wait_pair_by_code(u16 code, const char *name, int timeout_ms);int tws_api_wait_pair_by_ble(u16 code, const char *name, int tim…