mcpField
U
unity-observer-pattern

unity-observer-pattern

github.com/muharremtozan開発1752 回インストール22 週間前に更新
リポジトリ

unity-observer-pattern について

Unity Observer Pattern (Reactive Properties)は、通常の変数を監視可能なプロパティとして扱うUnity向け実装です。C#リスナーとUnityEventsの両方に対応し、Inspector設定やシーン・Prefabに保存できる編集モードの接続機能を備えています。

主な機能

  1. 01C#リスナーとUnityEventsに対応
  2. 02監視値の暗黙的な型変換
  3. 03Inspectorでのイベント設定
  4. 04編集モードでの永続的なイベント接続
  5. 05イベントフローの構造化ログ

活用シーン

  1. 01値の変更時にUIメソッドへ通知
  2. 02C#コードからプロパティ変更を監視
  3. 03イベント接続をシーンやPrefabに保存

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/muharremtozan/unity-agent-skills --skill unity-observer-pattern

インストール後、Claude Code で/unity-observer-patternを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

assets/code/
Observable.cs.txt
ObservableEditorTools.cs.txt
ObservableExample.cs.txt
references/
guide.md

詳細

Unity Observer Pattern(リアクティブプロパティ)

標準的な変数を「スマートプロパティ」に変える、オブザーバーパターンの強力な実装です。「Generic Observer」アーキテクチャに基づく、完全なインスペクター対応と編集モード用ツールを備えています。

主な機能

  1. ハイブリッド方式:標準の C# リスナー(プロ向け方式)と UnityEvents(デザイナー向け/ライト方式)の両方に対応します。
  2. 暗黙的なキャスト:int x = myObservableInt; のようにシームレスに記述できるため、.Value の記述は不要です。
  3. エディターでの永続化:編集モードで永続的な呼び出しをプログラムから設定し、シーン/プレハブに保存できます。
  4. 診断ログ:イベントの流れを追跡するための、構造化されたログ機能を内蔵しています。

主なファイル(最大 3 個)

  • Observable.cs.txt:暗黙的なキャストとエディターでの配線機能を内蔵した、汎用ラッパーの本体です。
  • ObservableEditorTools.cs.txt:永続的な UnityEvents をクリアするための、高度なリフレクションハックです。
  • ObservableExample.cs.txt:UI バインディングとライフサイクル管理を示す具体例です。

使い方

オプション A:ライト方式(インスペクター)
  1. フィールドを定義します:public Observable<int> health;。
  2. Unity インスペクターで、UI メソッドを On Value Changed リストにドラッグします。
オプション B:プロ向け方式(コード)
health.AddListener( val => Debug.Log( val ) );
health.Value = 50; // Automatically triggers notification
オプション C:暗黙的な使用方法
int currentHealth = health; // Works automatically via implicit operator

クリーンアップ

メモリーリークを防ぐため、OnDisable で必ず RemoveListener または Dispose を呼び出してください。

コメント