Unity游戏Mod/插件制作教程04 - 如何创建配置文件

news2025/1/22 16:13:41

ConfigEntry<T>
在插件功能的设计中,经常会有需要玩家自己配置的东西,比如插件的各种设置,快捷键的分配等。在BepInEx中,提供了一个ConfigEntry类简化了配置操作。

我们来看一段示例:

(注:由于阿B在代码页中会删除尖括号,所以我使用空格隔开)

using BepInEx;
using BepInEx.Configuration; //ConfigEntry的命名空间

namespace PluginTutorial
{
    [BepInPlugin("me.xiaoye97.plugin.Tutorial", "Tutorial Plugin", "1.0")]
    public class PluginTutorial : BaseUnityPlugin
    {
        ConfigEntry< int > intConfig;
        ConfigEntry< string > stringConfig;

        void Start()
        {
            //绑定配置文件
            intConfig = Config.Bind< int >("config", "TestInt", 10, "测试用Int");
            stringConfig = Config.Bind< string >("config", "TestString", "Hello", "测试用String");

            //使用配置文件中的值
            Logger.LogInfo(intConfig.Value);
            Logger.LogInfo(stringConfig.Value);
        }
    }
}
Config是BaseUnityPlugin的成员,是每个插件都自带的,通过这个Config进行绑定时,会自动以插件ID为文件名生成配置文件,如果你需要多个配置文件,可以手动创建ConfigFile对象。

绑定时有4个参数,分别是 分类 Key 默认值 描述。分类就是这个配置在哪个标签下,比如我们之前打开控制台窗口的时候,是在[Logging.Console]下,Key则是这个配置的名字,比如打开控制台时的Enabled,默认值则是在没有配置文件的情况下,创建配置文件时使用的值,描述可填可不填,主要是提醒玩家这个配置的用处是什么。

运行游戏(此章节的示例游戏为Mirror),可以看到控制台输出了10和Hello 

在BepInEx/config下找到me.xiaoye97.plugin.Tutorial.cfg并打开,如图所示:

 接下来,我们将10随便改一个别的数字,比如2233,将Hello改为csdn。再次启动游戏。 

使用ConfigurationManager在游戏运行时修改配置文件
BepInEx有多个非常实用的通用插件,放在任何游戏都可以使用,本章介绍ConfigurationManager插件,它可以在游戏内可视化的修改配置文件。

下载地址:https://github.com/BepInEx/BepInEx.ConfigurationManager/releases

安装插件后,在游戏中按F1打开配置管理界面,修改即可。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Docker的网络模式

一、Docker网络 1.1 Docker网络实现原理 docker 使用linux 桥接&#xff0c;在宿主机虚拟一个docker 容器网桥&#xff08;docker0) &#xff0c;docker 启动一个容器时会根据docker 网桥的网段分配给容器一个IP地址&#xff0c;称为Container-IP&#xff0c;同时Docker 网桥…

JAVA接入OPC DA2.0引发的问题

背景&#xff1a; JAVA接入OPC DA后&#xff0c;在生产环境跑了一段时间后就会出现异常&#xff0c;给折腾的够呛&#xff0c;起初的报错还能通过重启OPC连接解决&#xff0c;后来强制重新连接也不行&#xff0c;最终一套测试下来&#xff0c;除非重启OPC服务器&#xff0c;别…

生产制造企业数字化转型:流程制造ERP

ERP的含义是企业资源计划&#xff0c;含义是对企业所拥有各种资源进行综合规划和优化管理&#xff0c;用以降低成本&#xff0c;提高效率&#xff0c;增加利润。ERP最初是在90年代初提出的&#xff0c;那时的ERP概念&#xff0c;还只是根据计算机技术的发展和供需链管理,推论各…

[附源码]java毕业设计校园闲置物品租赁系统

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

深度学习——动物数据集大合集(附下载地址)

说明&#xff1a;部分数据收费&#xff0c;付费后数据请关注私信内容&#xff0c;会给出下载链接&#xff0c;亲测数据质量不错&#xff0c;如下图所示&#xff1a; ​ 1、30种常见鱼类数据集 数据集介绍&#xff1a;30种常见鱼类数据集&#xff08;每类鱼30-100张图片不等&am…

丰田+比亚迪「围攻」大众,明年或将「让出」榜首之位

大众&#xff0c;正在经历最艰难的时刻。 高工智能汽车研究院监测数据显示&#xff0c;今年1-10月&#xff0c;大众集团旗下大众品牌乘用车在中国市场的交付上险同比下滑11.5%&#xff0c;而作为老对手&#xff0c;排名第二的丰田&#xff0c;则是同比增长13.72%。 豪华品牌部…

Oracle快速入门 | 黑马

简介 概述 Oracle目前使用最广的大型数据库管理系统&#xff0c;作为分布式数据库实现分布式处理功能。 广泛用于金融行业&#xff0c;大量数据而且需要很安全 特点 支持多用户&#xff0c;大事务量的事务处理数据安全性和完整性控制&#xff08;主要卖售后的&#xff0c…

信息安全工程实践笔记--Day1 信息收集漏洞扫描

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录实验目标&#xff08;一&#xff09;信息收集一、搜索引擎二、域名1.whois 查询2.子域名查询3.真实ip(1)什么是cdn&#xff1f;(2) 如何验证目标服务器是否挂载cdn&a…

吴恩达-机器学习-k-means聚类算法

目录 吴恩达-机器学习2022版 k-means聚类算法实现整理 1.核心函数四个&#xff1a; 1.find_closest_centroids &#xff1a;寻找最近的质心 2.compute_centroids &#xff1a;迭代重新计算质心 3.kMeans_init_centroids &#xff1a;随机初始化质心 4.run_kMean…

Centos安装Rclone,操作Minio基本命令

简介 Rclone 是一个用于和同步云平台同步文件和目录命令行工具。它允许在文件系统和云存储服务之间或在多个云存储服务之间访问和同步文件&#xff0c;它具有单向同步功能&#xff0c;使目录完全相同&#xff0c;它具有加密、缓存和联合后端&#xff0c;支持 Fuse 安装&#…

MindSpore是一种适用于端边云场景的新型开源深度学习训练/推理框架

MindSpore是一种适用于端边云场景的新型开源深度学习训练/推理框架。 MindSpore提供了友好的设计和高效的执行&#xff0c;旨在提升数据科学家和算法工程师的开发体验&#xff0c;并为Ascend AI处理器提供原生支持&#xff0c;以及软硬件协同优化。 同时&#xff0c;MindSpore…

【计算机网络】

1、应用层 web应用——http协议 请求消息格式&#xff1a;请求行&#xff0c;头部行&#xff0c;消息体 请求方法get&#xff0c;post&#xff0c;delete&#xff0c;put上传文件 Email应用——SMTP&#xff0c;POP3/IMAP DNS应用——DNS协议 P2P应用&#xff1a;文件分发等…

实战项目【7】MEMS惯性传感器的精度参数和单位换算

1 前言 有不少朋友在做项目的时候经常涉及到加速度计和陀螺仪的原始数据转换为其他的单位的问题&#xff0c;这篇文章梳理和推导一下。 1&#xff09;加速度计的原始数据 在应用时常见的转换单位有: g、m/s^2 、角度 2&#xff09;陀螺仪的原始数据 在应用时常见的转换单位有&a…

〖全域运营实战白宝书 - 运营角色认知篇⑤〗- “运营“ 是否有前途?

大家好&#xff0c;我是 哈士奇 &#xff0c;一位工作了十年的"技术混子"&#xff0c; 致力于为开发者赋能的UP主, 目前正在运营着 TFS_CLUB社区。 &#x1f4ac; 人生格言&#xff1a;优于别人,并不高贵,真正的高贵应该是优于过去的自己。&#x1f4ac; &#x1f4e…

UE4 回合游戏项目 23- 进入战斗

在上一篇&#xff08;UE4 回合游戏项目 22- 控制新角色&#xff09;基础上继续增加两个角色进入战斗的逻辑 效果&#xff1a; 步骤&#xff1a; 1. 打开“gameMode1”&#xff0c;新增一个变量命名为“正在控制的所有玩家”&#xff0c;变量类型为“roleCategory”的数组 2.打…

Jitamin 安装与配置

Jitamin Jitamin (读作/ˈdʒɪtəmɪn/) 是一款免费、开源&#xff0c;使用PHP语言开发的项目管理系统。Jitamin灵感来自于Vitamin&#xff0c;并结合了Just In Time(准时)和敏的拼音min&#xff0c;意指效率与敏捷是项目管理的维他命。 功能特性 简洁、美观的界面支持多主题…

Celix是什么?能做什么?

半路突然看到了OSGI,又学习了一下&#xff0c;大概了解了架构的一些基础知识。 像MVC&#xff0c;MVP等其实就是分层架构&#xff0c;这类是最容易想到的。 然后其实我就没有接触&#xff0c;如微服务架构&#xff0c;微内核架构。 是什么&#xff1f; 而Celix就是属于微内…

[附源码]java毕业设计校园网学生成绩查询系统

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

Redis源码篇(6)——主从复制

主从复制 从服务器执行 SLAVEOF IP PORT 命令即可实现对主服务器的复制。 复制又分为完整同步和部分同步&#xff08;2.8之后&#xff09; 完整同步&#xff1a;与混合持久化过程类似&#xff0c;先以rdb的方式保存rdb文件然后发送给从服务器。再将期间的命令保存到复制缓存区…

[论文评析]基于人体姿态识别的立定跳远 动作智能评估系统

基于人体姿态识别的立定跳远 动作智能评估系统论文信息背景方法系统总体设计立定跳远动作智能评估系统标准动作库子系统动作采集子系统人体姿态动作评估子系统人体姿态评估模型立定跳远关键帧匹配姿态评估及对比总结论文信息 题目&#xff1a;基于人体姿态识别的立定跳远 动作…