こんそーるすーぷのレシピはこちら

いちおう仕事なのに趣味の人に劣って焦り

【Unity】Inspectorを拡張してみた - EazyCustomEditor

Inspectorを拡張して以下のように修正してみた。
機能はのちほど説明します。
f:id:nanokanato:20171212142805p:plain:w300

Gitにあげてます。
github.com

ECHelpBox

f:id:nanokanato:20171212143321p:plain:w300
ECHelpBoxはHelpBoxを表示することができます。
また、日本語と英語での表示切り替えが可能です。(PCの言語設定に依存)

例:上の画像の一番上と同じものが表示されます。

[ECHelpBox("日本語の表示","英語の表示")]

設定できる引数は以下です。
左右にスペースを入れたり、MessageTypeを変えてアイコンを表示することが可能です。
message_jpが日本語、message_enが英語での表記になります。

ECHelpBox(string message_jp)
ECHelpBox(string message_jp, string message_en)
ECHelpBox(string message_jp, MessageType type)
ECHelpBox(string message_jp, float leftSpace, float rightSpace)
ECHelpBox(string message_jp, string message_en, MessageType type)
ECHelpBox(string message_jp, float leftSpace, float rightSpace, MessageType type)
ECHelpBox(string message_jp, string message_en, float leftSpace, float rightSpace)
ECHelpBox(string message_jp, string message_en, float leftSpace, float rightSpace, MessageType type)

ECSceneName

f:id:nanokanato:20171212145017p:plain:w300
ECSceneNameはBuild Settingに登録されているScene名のStringを選択することができます。
また、日本語と英語での表示切り替えが可能です。(PCの言語設定に依存)

例:上の画像の場合、ECSceneName1には"Scene1"の文字列が入力される。

[ECSceneName("Scene選択1", "Select Scene1")] public string ECSceneName1;

設定できる引数は以下です。
enableOnlyをfalseにするとBuild Settingsで有効になっていないSceneも選択可能になります。
title_jpが日本語、title_enが英語での表記になります。
引数なしの場合は変数名が表示されます。

ECSceneName()
ECSceneName(string title_jp)
ECSceneName(string title_jp, bool enableOnly = true)
ECSceneName(string title_jp, string title_en)
ECSceneName(string title_jp, string title_en, bool enableOnly = true)

ECTagName

f:id:nanokanato:20171212150254p:plain:w300
ECTagNameはGameObjectに設定できるTag名のStringを選択することができます。
また、日本語と英語での表示切り替えが可能です。(PCの言語設定に依存)

例:上の画像の場合、ECTagName1には"Player"の文字列が入力される。

[ECTagName("タグ選択1", "Select Tag1")] public string ECTagName1;

設定できる引数は以下です。
title_jpが日本語、title_enが英語での表記になります。
引数なしの場合は変数名が表示されます。

ECTagName()
ECTagName(string title_jp)
ECTagName(string title_jp, string title_en)

ECEnum

f:id:nanokanato:20171212150658p:plain:w300
ECEnumはEnumを別名で表示して選択させることができます。
また、日本語と英語での表示切り替えが可能です。(PCの言語設定に依存)

例:上の画像の場合、ECEnum1にはEnum4が入力される。

[ECEnum("Enum選択1", "Select Enum1")] public SampleEnum ECEnum1 = SampleEnum.Enum1;
public enum SampleEnum
{
	Enum1,
	[ECEnum("要素2", "option2")] Enum2,
	[ECEnum("要素3", "option3")] Enum3,
	[ECEnum("要素4", "option4")] Enum4,
	[ECEnum("要素5", "option5")] Enum5
}

設定できる引数は以下です。
title_jpが日本語、title_enが英語での表記になります。
引数なしの場合は変数名,要素名が表示されます。

ECEnum()
ECEnum(string title_jp)
ECEnum(string title_jp, string title_en)

ECPopupSelect

f:id:nanokanato:20171212151138p:plain:w300
ECPopupSelectは入力値をあらかじめ用意してポップアップで選ばせることが可能です。
入力値はString,int,floatに対応しています。
さらに拡張することで他のTypeも選択させることが可能です。
また、日本語と英語での表示切り替えが可能です。(PCの言語設定に依存)

例:上の画像の場合、ECPopupSelect2には1が入力される。

[ECPopupSelect("ポップアップ2", new object[]{1,2})] public int ECPopupSelect2;

設定できる引数は以下です。
title_jpが日本語、title_enが英語での表記になります。
list_jpが日本語用の選択肢、list_enが英語用の選択肢になります。

ECPopupSelect(object[] list_jp)
ECPopupSelect(string title_jp, object[] list_jp)
ECPopupSelect(string title_jp, string title_en, object[] list_jp)
ECPopupSelect(string title_jp, string title_en, object[] list_jp, object[] list_en)