「拡張機能」は、プラグインと Stingray 環境間の統合のポイントを定義します。つまり、プラグインをロードしたときに、プラグインがエディタで変更またはエディタに追加する内容を定義します。
.stingray_plugin 記述ファイルで、複数の異なる種類の拡張機能を設定できます。
menus は、Stingray Editor のメイン メニューに、File、Edit、Window などの新しい項目を追加します。「新規メニュー項目を作成する」を参照してください。
actions は、プラグイン内で他の拡張機能から参照できる、再利用可能なコマンドやスクリプト ブロックを定義します。「アクションを登録する」を参照してください。
services は、新しい JavaScript worker サービスをエディタに追加します。お使いのプラグイン(またはその他のプラグイン)で、標準の Stingray エディタのサービスとまったく同じ方法で、これらのサービスが必要となる場合や使用される場合があります。「カスタム サービスの登録」を参照してください。
asset_types は、プロジェクト内で新しいタイプのデータ ファイルを処理する方法について Asset Browser に指示します。つまり、拡張機能が既知のアセット タイプに一致しないファイルの処理方法について指示します。「カスタム アセット タイプを登録する」を参照してください。
templates は、プラグインとともに提供する既製のアセットまたはプロジェクトを識別するもので、エディタはこれを使用して新しいアセットおよびプロジェクトを作成できます。「新しいアセットのテンプレートを定義する」を参照してください。
previews は、Asset Browser で特定のタイプのリソースが選択されたときの Asset Preview の動作方法をコントロールします。「カスタム アセットのプレビューを定義する」を参照してください。
migrations により、このプラグインのバージョンがインストールされている間、エディタがプロジェクトを初めてロードしたときに、プラグインでいくつかのアクションを実行することができます。
events は、プラグインが特定の名前を持つエディタのイベントをリッスンし、イベントが発生したときにアクションまたは一連のアクションを実行するように、プラグインを登録します。環境設定手順については「エディタのイベントに応答する」、イベントに関する背景情報については「エディタのイベントを発行および処理する」を参照してください。
views は、プラグインによって Stingray に追加されるカスタム UI パネルおよびダイアログ ボックスに名前を付けます。これらの名前の付いたビューは、プラグイン内の他の拡張機能(メニュー項目など)または他のプラグインから開くことができます。「名前の付いたパネルまたはダイアログ ボックスを作成する」を参照してください。
viewports は、エンジン ビューポートをプラグインのビューおよびパネル(Level Viewport や Asset Preview に表示されるものなど)に統合する際に役立ちます。「カスタム エンジン ビューポートを作成する」を参照してください。
runtime_libraries は、エンジンのすべてのインスタンスを設定するようエディタに指示します。エンジンは、起動されると、プラグインと一緒に提供された .dll ファイルを自動的にロードします。「エンジンを拡張する」を参照してください。
すべてのプラグインに、これらの拡張機能を少なくとも 1 つ含める必要があります。プラグインが持つことができる、拡張機能の数に制限はありません。
extensions オブジェクトで .stingray_plugin リソース ファイルの 拡張機能を設定します。
extensions = { actions = [ { ... } ] menus = [ { ... } { ... } ] asset_types = [ { ... } ] }
各タイプの拡張機能には、その extensions オブジェクト内に独自の名前が付いたリストがあります。上記の例では menus や actions などです。これらのリスト内には、それぞれ任意の数のオブジェクトを含めることができます。それぞれがそのタイプの 1 つのインスタンスを設定します。たとえば、上記の環境設定では 1 つの新しいアクション、2 つの新しいメニュー項目、1 つの新しいアセット タイプを登録します。
各拡張機能タイプが、設定する必要がある独自の環境設定パラメータ セットを持つ場合もあります。異なる拡張機能タイプごとに必要なパラメータの詳細については、このガイドの他のページを参照してください。
プラグインの拡張機能に設定する環境設定パラメータのほとんどは文字列値です。これらの値では、エディタが自動的に置換する特殊なプレースホルダ値を使用することができます。
現在、次の変数を使用できます。
$project: この文字列は、現在のプロジェクトのソース フォルダへのパスによって置き換えられます。
$editor: この文字列は、Stingray Editor の実行可能ファイルに含まれるフォルダ(Stingray インストール フォルダの下にある editor フォルダ)に置き換えられます。
また、一部の拡張機能は、これらの動的文字列をさらに追加します。詳細については、このセクションのページを参照してください。