(:3[kanのメモ帳]

個人ゲーム開発者kan.kikuchiのメモ的技術ブログ。月木更新でUnity関連がメイン。

選択したオブジェクトに対する日本語のドキュメントを表示するためのエディターウィンドウ【Unity】【エディタ拡張】


このエントリーをはてなブックマークに追加



この記事でのバージョン
Unity 5.3.4f1 Personal


はじめに

UnityにはHelpというクラスがあります。

Unity ドキュメントにアクセスするためのヘルパークラスです


このHelpクラスにあるShowHelpForObjectを使うと対象のヘルプページを開ける事が出来るのですが、

この時開かれるページは英語のものになります。

//_targetのヘルプページを開く、_targetはObject
Help.ShowHelpForObject (_target);


そもそもダウンロードしているドキュメントが英語のものしかないんですけどね。

ちょっと探してみましたが、英語以外のドキュメントをダウンロードする方法は見つかりませんでした。


f:id:kan_kikuchi:20160714133200p:plain


なので今回は、

選択したオブジェクトに対する日本語のドキュメントを表示するためのエディターウィンドウ

を作ってみました!


JapaneseQuickHelper

さっそくコードです!



このJapaneseQuickHelper.csをEditorディレクトリに入れると、

ToolsからQuickHelperというものを開けるようになります。(Cmd+Shift+Hでも開ける)


f:id:kan_kikuchi:20160714133914p:plain


ここで開いたウィンドウに対象をドラック&ドロップをし、

Openボタンを押すと以下のように日本語のドキュメントを開けます!


f:id:kan_kikuchi:20160715134412g:plain
f:id:kan_kikuchi:20160715134451g:plain


便利!……かどうかは貴方次第(:3っ)∋〜


やってる事は単純で、

Help.GetHelpURLForObjectで取得したパスから日本語のドキュメントのURLを作成し、

ボタンを押したらHelp.BrowseURLでURLを開いているだけです。


あとはちょっとでも使いやすいように、ShowUtilityで常に最前面に表示したり、

MenuItemの所でショートカットで開けるようにしています。


おわりに

元々は以下のような感じで、CustomEditorを使い、

全ObjectのInspectorにヘルプボタンを表示しようと思ったのですが、

using UnityEngine;
using UnityEditor;
using System.Collections;

[CustomEditor(typeof(Object), true)] //第二引数をtrueにするとObjectを継承したクラスも対象になる
public class ObjectEditor : Editor {

  public override void OnInspectorGUI(){
    
    if (GUILayout.Button ("Button")) {
     
    }

    base.OnInspectorGUI ();
  }

}  

f:id:kan_kikuchi:20160714135209p:plain


上記画像のCameraのように、

一部のObjectではボタンが表示されないといったことになったので断念しました。


なお、Unity側を拡張せずにChromeを拡張した方が使い易いという説もあります(:3っ)∋〜


Unity:英語ドキュメントと同じ日本語ドキュメントを開く - devlog [naru design]