概要
Unityのインスペクター上で、インターフェースを実装した複数の異なるクラスを1つのリストで管理できるエディター拡張です。従来のUnityでは難しかった「ポリモーフィズム(多態性)」を活用したコンポーネント設計を簡単に実現できます。
特徴
・インターフェースベースの設計: 共通のインターフェースを実装した様々なクラスを統一的に管理
・インスペクター統合: Unity標準のインスペクターで直感的に操作可能
・ 拡張性: 独自のインターフェースに対応した新しいエディターを簡単に作成
使用例
例えば、ゲームオブジェクトに複数の「振る舞い」を組み合わせて持たせたい場合:
ライフタイム管理(一定時間後に非アクティブ化)
移動パターン
エフェクト制御
サウンド再生
これらを全て同じリストで管理し、インスペクター上で自由に組み合わせることができます。
含まれるファイル
IExampleBehaviour.cs - サンプル用インターフェース
ExampleController.cs - リストを管理するコントローラー
ExampleLifeTime.cs - ライフタイム機能の実装例
PolymorphicListEditor.cs - エディター拡張の核となる基底クラス
ExampleControllerEditor.cs - サンプル用カスタムエディター
導入方法
パッケージをUnityにインポート
ExampleControllerをGameObjectにアタッチ
インスペクターで「+ Add Element」ボタンから要素を追加
各要素の設定を調整
動作環境
Unity 2020.3 以降
.NET Framework 4.x または .NET Standard 2.1
ライセンス
MIT License - 商用・非商用問わず自由にご利用いただけます
免責事項
本パッケージの使用によって生じたプロジェクトの破損、データの損失、その他いかなる損害についても、作者は一切の責任を負いません
使用前には必ずプロジェクトのバックアップを取ることを強く推奨します
本パッケージは「現状のまま」提供され、動作の保証はありません
異なるUnityバージョンや他のアセットとの互換性については事前にテストを行ってください
このツールを使って、より柔軟で保守性の高いUnityプロジェクトを作成してください!