GameFrameX UI FairyGUI は、FairyGUI フレームワークを GameFrameX モジュラーゲームフレームワークに統合する Unity UI アダプターです。YooAsset による非同期アセットローディングで、完全な UI ライフサイクル管理(オープン/クローズ/リサイクル/アニメーション)を提供します。
- 完全な UI ライフサイクル — 統一 API による UI フォームのオープン、クローズ、リサイクル、アニメーション
- 非同期アセットローディング — YooAsset ベースの FairyGUI パッケージとリソースの非同期ローディング
- オブジェクトプール再利用 — UI フォームインスタンスをプールして再利用し、GC アロケーションを最小化
- シングルトン重複排除 — 同一フォームの重複作成を自動防止
- ローディングキュー — 同一フォームへの同時オープンリクエストを統合
- 属性駆動設定 — C# 属性で UI グループ、表示/非表示アニメーションを制御
- MVVM バインディングサポート —
BindablePropertyExtensionによるバインディングプロパティイベントの自動クリーンアップ - デュアルアセットローディング —
Resources.Loadと YooAsset AssetBundle ローディングの両方をサポート - IL2CPP 対応 — Preserve 属性により IL2CPP ビルド時のコードストリッピングを防止
┌─────────────────────────────────────────────┐
│ あなたの UI パネル (FUI) │
├─────────────────────────────────────────────┤
│ UIManager │
│ (オープン / クローズ / リサイクル / │
│ ローディングキュー) │
├──────────┬──────────┬───────────────────────┤
│ FormHelper│UIGroup │ PackageComponent │
│ (作成/ │Helper │ (パッケージ追加 / │
│ 解放) │(深度) │ パッケージ削除) │
├──────────┴──────────┴───────────────────────┤
│ FairyGUI Runtime + YooAsset │
└─────────────────────────────────────────────┘
| コンポーネント | 説明 |
|---|---|
UIManager |
オープン/クローズ/リサイクルライフサイクルを管理する UI マネージャー |
FUI |
すべての FairyGUI パネルの基底クラス — これを継承して UI を作成 |
FairyGUIPackageComponent |
MonoBehaviour。FairyGUI パッケージの読み込み/アンロードを管理 |
FairyGUIFormHelper |
フォームのインスタンス化、作成、解放を処理 |
FairyGUIUIGroupHelper |
UI グループの深度とレイヤー管理 |
FairyGUILoadAsyncResourceHelper |
FairyGUI のリソースリクエストを YooAsset に橋渡し |
FairyGUIPathFinderHelper |
パスベースの GObject 検索ユーティリティ |
以下のいずれかの方法を選択してください:
-
Unity プロジェクトの
Packages/manifest.jsonを編集し、scopedRegistriesセクションを追加してください:{ "scopedRegistries": [ { "name": "GameFrameX", "url": "https://gameframex.upm.alianblank.uk", "scopes": [ "com.gameframex" ] } ], "dependencies": { "com.gameframex.unity.ui.fairygui": "3.3.2" } }scopesは、どのパッケージをこのレジストリから解決するかを制御します。com.gameframexで始まるパッケージのみがこのレジストリから取得されます。 -
manifest.jsonのdependenciesに直接追加:{ "com.gameframex.unity.ui.fairygui": "https://github.com/gameframex/com.gameframex.unity.ui.fairygui.git" } -
Unity の Package Manager で Git URL を使用して追加:
https://github.com/gameframex/com.gameframex.unity.ui.fairygui.git -
リポジトリを Unity プロジェクトの
Packagesディレクトリにクローンしてください。自動的に読み込まれます。
属性でアニメーションを設定:
[OptionUIShowAnimation(typeof(FadeInAnimation))]
[OptionUIHideAnimation(typeof(FadeOutAnimation))]
public class AnimatedPanel : FUI { }// GObject の階層パスを取得
string path = gObject.GetUIPath();
// パスから GObject を解決
GObject obj = FairyGUIPathFinderHelper.GetUIFromPath("GRoot/Group/MyButton");// GObject 破棄時に自動的にイベントを登録解除
myProperty.ClearWithGObjectDestroyed(gObject);| プラットフォーム | 対応 |
|---|---|
| Android | はい |
| iOS | はい |
| Windows | はい |
| macOS | はい |
| WebGL | はい |
Unity 最低バージョン:2019.4
- QQグループ:612311526
- GitHub Issues:バグ報告
- 作者:Blank (alianblank@outlook.com)
CHANGELOG.md をご覧ください。
| パッケージ | 説明 |
|---|---|
com.gameframex.unity |
1.1.1 |
com.gameframex.unity.asset |
1.0.6 |
com.gameframex.unity.event |
1.0.0 |
com.gameframex.unity.ui |
1.0.0 |
詳しくは LICENSE.md をご参照ください。
