LoginSignup
7
6

More than 5 years have passed since last update.

UnityEditorで使ったコールバックまとめ

Last updated at Posted at 2016-02-06

UnityEditorで特定のタイミングに処理を差し込むのに使用またはテストしたものを随時記載(ほぼ自分用)
※MonobehaviourのAwakeやStart等はMonobehaviourのリファレンスを見れば全部わかるので省略
※使用例もリファレンス見れば載ってるので一覧のみ
※Unityスクリプトリファレンス⇒(http://docs.unity3d.com/ja/current/ScriptReference/index.html)

delegate系

  • UnityEditor.EditorApplication.playmodeStateChanged
    • Editor上での実行を再生/停止/一時停止した際に呼ばれる
    • 編集したパラメータを使用して一時データを再計算する際に使用
  • UnityEditor.Undo.undoRedoPerformed
    • Undo/Redoした後に呼ばれる
    • Undo/Redoで戻したパラメータを使用して一時データを再計算する際に使用
  • UnityEditor.PrefabUtility.prefabInstanceUpdated
    • PrefabをApplyした後に呼ばれる
    • Prefabを更新・保存したパラメータを元に一時データを再計算する際に使用
  • UnityEditor.EditorUserBuildSettings.activeBuildTargetChanged
    • SwitchPlattformした際に呼ばれる
    • Resources等のアプリ内に含まれるデータをプラットフォーム毎に差し替える為に使用

Attribute系

  • [UnityEditor.Callbacks.PostProcessScene(0)]
    • シーンのロード後に呼ばれ、プレイヤービルドした際はビルドするシーンの数だけ呼ばれる
    • シーンロード時のログ出力ぐらいにしか用途がないような・・・
    • static関数でないとエラー扱い
    • Attributeの引数は処理順序
  • [UnityEditor.Callbacks.PostProcessBuild(0)]
    • プレイヤービルドした際に呼ばれる
    • Plugin等のプラットフォーム依存の処理を行う際に使用
    • static関数でないとエラー扱い
    • 関数の引数は2つ(BuildTarget target, string pathToBuiltProject)
    • Attributeの引数は処理順序

余談

Handlesのアンカーをホールド・リリースした際のコールバックが欲しいのだが・・・
ControlIDやらEventやら検知しないと出来ないらしいがMouseUp,MouseDownがHandlesのアンカー上では検知できず難航中

Handlesを操作する前に検知すればとれました

7
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
6