mapping#

这个模块的可以让你对 Account / Character 和宏命令 Yaml 文件进行排列组合, 然后一键将你的 配置文件应用到你的客户端中的 WTF 目录下.

class wow_sdm.exp03_wotlk.mapping.Client(dir: Path, locale: str)[source]#

代表着一个具体魔兽世界客户端. 你必须要指定这个客户端的目录. 然后就可以用各种 method 来 获取对应的 SDM 插件 lua 文件的绝对路径了.

Parameters:
  • dir – 客户端目录, 根据此目录可以定位其他的目录. 例如 “C:Program FilesWorld of Warcraft”

  • locale – 客户端语种, 例如 enUS, zhCN, zhTW 等.

get_account_sdm_lua(wtf_account_name: str) Path[source]#

This file stores account level SDM AddOn configuration.

Example: C:\...\WTF\Account\MYACCOUNT\SavedVariables\SuperDuperMacro.lua

class wow_sdm.exp03_wotlk.mapping.BaseMapping(file: Path)[source]#

Mapping 是一个 Account / Character 和一个 Macro 文件的组合.

class wow_sdm.exp03_wotlk.mapping.AccLvlMapping(file: Path, acc: Account)[source]#

Account 和一个 Macro 文件的组合.

Parameters:
classmethod make_many(account: Union[Account, Iterable[Account]], file: Union[Path, Iterable[Path]])[source]#

生成多个 Account 和 Macro 文件的组合. 让你写更少的代码.

Parameters:
  • account – 单个 Account 或是多个 Account 的集合.

  • file – 单个 Path 或是多个 Path 的集合.

class wow_sdm.exp03_wotlk.mapping.CharLvlMapping(file: Path, char: Character)[source]#

Character 和一个 Macro 文件的组合.

Parameters:
classmethod make_many(character: Union[Character, Iterable[Character]], file: Union[Path, List[Path]])[source]#

生成多个 Character 和 Macro 文件的组合. 让你写更少的代码.

Parameters:
  • character – 单个 Character 或是多个 Character 的集合.

  • file – 单个 Path 或是多个 Path 的集合.

class wow_sdm.exp03_wotlk.mapping.SdmMapping(client: ~wow_sdm.exp03_wotlk.mapping.Client, all_accounts: ~typing.Iterable[~wow_acc.model.Account], all_characters: ~typing.Iterable[~wow_acc.model.Character], acc_macros: ~typing.List[~wow_sdm.exp03_wotlk.mapping.AccLvlMapping] = <factory>, char_macros: ~typing.List[~wow_sdm.exp03_wotlk.mapping.CharLvlMapping] = <factory>)[source]#

定义了一个魔兽世界客户端中被管理的所有 Sdm 宏命令的设定.

Parameters:
  • clientClient 对象. 有了这个才知道我们要将配置文件写到哪里去.

  • all_accounts

    所有的 wow_acc.api.Account 对象. 在 render Jinja 模板时会用到.

  • all_characters

    所有的 wow_acc.api.Character 对象. 在 render Jinja 模板时会用到.

apply(real_run: bool = False)[source]#

将 SDM 的 Lua 文件写入 SavedVariables 文件夹中.