ショートカットハンドラー
ShortcutManagement
API を使用して、カスタムの Terrain (地形) ツールにショートカットを追加できます。ショートカットハンドラーを利用すると、ツールの UI を使用せずに、ホットキーで特定のツールを選択したり、手早くツール設定を変更したりできます。
using UnityEngine;
using UnityEditor.ShortcutManagement;
using UnityEditor.TerrainTools;
internal class CustomTerrainToolWithShortcut : TerrainPaintTool<CustomTerrainToolWithShortcut>
{
// Shortcut 属性を追加し、ショートカットの名前とコンテキストの Type を指定します
[Shortcut("Terrain/Select CustomTerrainToolWithShortcut", typeof(UnityEditor.TerrainTools.TerrainToolShortcutContext))]
static void SelectShortcut(ShortcutArguments args)
{
// ShortcutArguments から TerrainTool 用のコンテキストを取得します
UnityEditor.TerrainTools.TerrainToolShortcutContext context = (UnityEditor.TerrainTools.TerrainToolShortcutContext)args.context;
// このツールを選択します
context.SelectPaintTool<CustomTerrainToolWithShortcut>();
}
public override string GetName()
{
return "Custom Terrain Tool With Shortcut";
}
public override string GetDesc()
{
return "My custom Terrain Tool is amazing!";
}
public override void OnRenderBrushPreview(Terrain terrain, IOnSceneGUI editContext)
{
}
public override bool OnPaint(Terrain terrain, IOnPaint editContext)
{
return true;
}
}