pfUI アドオン構成と設定メカニズムの解析

プロジェクトディレクトリ構成

pfUI のソースコードは、機能ごとにモジュール化されたディレクトリ構造を採用しています。主要なフォルダの役割は以下の通りです。

pfUI/
├── addons/
│   └── pfUI/
│       ├── api/          (外部 API 連携定義)
│       ├── core/         (メインロジックおよび初期化)
│       ├── modules/      (機能別モジュール)
│       ├── skins/        (UI テーマ定義)
│       ├── thirdparty/   (外部ライブラリ)
│       ├── locale/       (多言語対応ファイル)
│       ├── media/        (画像・音声リソース)
│       ├── pfUI.toc      (マニフェストファイル)
│       └── README.md     (プロジェクト概要)
├── .gitignore
├── LICENSE
└── README.md

addons/pfUI/core/ には起動処理が含まれ、modules/ には個別の機能実装が配置されます。skins/ ディレクトリにより、ユーザーはインターフェースの見た目をカスタマイズ可能です。

マニフェストファイル (TOC) の仕様

World of Warcraft アドオンを読み込むために、pfUI.toc ファイルがメタデータを定義します。インターフェースバージョンや依存関係はここで宣言されます。

## Interface: 11302
## Title: pfUI
## Author: Shagu
## Version: v3.5.0
## Notes: A complete user interface replacement for World of Warcraft: Vanilla & TBC
## SavedVariables: pfUI_profiles, pfUI_config, pfUI_cache, pfUI_playerDB, pfUI_globalDB
## OptionalDeps: LibSharedMedia-3.0, LibStub, CallbackHandler-1.0

core/pfUI.lua
core/api.lua
core/init.lua
...

Interface フィールドはクライアントバージョンとの互換性を制御します。SavedVariables には、セッション間でpersist される変数名を列挙します。OptionalDeps は、存在しない場合でもエラーとならない依存ライブラリを指定します。

設定データと SavedVariables の管理

ユーザーの設定および状態データは、ゲームクライアントの SavedVariables 機構を通じて保存されます。実体は以下のパスに生成されます。

WTF/Account/<AccountName>/SavedVariables/pfUI.lua

主要な保存変数には以下の役割があります。

  • pfUI_config: 設定オプションの全体
  • pfUI_profiles: プロファイル別設定
  • pfUI_globalDB: グローバルデータベース
  • pfUI_playerDB: プレイヤー固有データ

直接ファイル編集も可能ですが、整合性を保つためインゲーム設定メニューからの操作が推奨されます。

タグ: WorldOfWarcraft lua AddonDevelopment pfUI UIConfiguration

6月8日 23:15 投稿