World of Warcraft WTF Manager 是什么? 您所在的位置:网站首页 WTF文件是什么 World of Warcraft WTF Manager 是什么?

World of Warcraft WTF Manager 是什么?

2024-07-04 01:54| 来源: 网络整理| 查看: 265

World of Warcraft WTF Manager 是什么?# WTF 是什么?#

在魔兽世界客户端文件目录下, 都有一个 WTF 文件. 里面包含了各种客户端的配置, 例如分辨率, 视频, 声音, 界面. 以及对于每一个 Account, 每一个服务器上的 Realm, 每一个游戏角色, 它们的游戏界面配置, 插件配置, 宏命令配置等一切配置. 通常如果你更换电脑玩魔兽, 就只要将整个 WTF (配置目录) 和 Addon (插件目录) 复制到新电脑上, 就能按跟之前一摸一样的配置玩游戏了.

管理 WTF 配置文件的痛点#

首先我们要明确, 备份 WTF 文件不是痛点, 因为你只要备份整个 WTF 文件夹即可. 而灵活的批量修改 WTF 文件才是痛点. 每一个游戏角色背后都有一系列的 WTF 文件. 管理 WTF 的本质就是管理 游戏角色, 和具体的配置之间的关系. 这是一个典型的多对多的关系. 有的配置需要被这几个角色公用, 有的要被那几个角色公用. 今天这个角色用这个配置, 明天对这个配置修改了, 想要引用到其他的角色上. 这才是管理的复杂度来源.

WTF 配置文件管理系统设计#

管理配置文件这个事情的本质就是将特定的 配置 (Configuration), 应用到特定的 作用域 (Scope) 中. 这个 配置 可以是界面设置, 可以是插件设置, 可以是宏命令设置. 而 作用域 可以是一个具体的角色, 或是一个具体的服务器, 或是一个具体的账号下的所有服务器所有角色, 或是所有账号下的所有服务器所有角色.

基于这一本质, 参考各种计算机业内的的配置管理工具的设计, wow_wtf_manager 定义了这么几个概念:

配置: 一个具体的配置. 例如客户端配置的 Config.wtf 文件就是一个配置. 账号下所有角色的快捷键绑定配置的 bindings-cache.wtf 文件也是一个配置.

参数: 一个配置文件的内容并不是写死的, 它允许用一些参数来动态生成最后的配置. 这里我们使用了 jinja 模板语言作为动态生成配置的工具.

作用域: 将配置应用到的具体场景. 例如单个游戏角色是一个应用作用域, 一个服务器下的所有角色, 一个账号下的所有服务器, 所有账号, 这些都是不同的应用作用域. 作用域之间是有层级关系的, 例如所有账号的作用域是最高的, 而具体的游戏角色是最低的作用域.

基于这几个概念, 最终生成配置文件的过程就简化成了:

从数据存储中读取配置的模板.

基于模板和参数动态生成配置的数据.

将配置数据写入到目标配置文件中.

那么对大批量的配置文件进行管理的流程就简化成了:

枚举一堆配置.

枚举一堆作用域.

将配置和应用作用域关联起来. 这个关联的关系可以随心所欲的修改.

在这个大框架下, 我们成功的将 配置数据 分拆成了 配置模板 和 配置参数 两部分. 同时一份动态生成的配置数据可以被应用到多个作用域中. 这样做提高了配置的复用性, 增加了配置的灵活性.



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有