Unity Package Managerに、そのパッケージで使用するUIElementsを入れるための場所 (として良いのはなかった)
DefaultCommonDark_inter.uss を頼りに Unity C# Reference を見てみたけど、デフォルトで読み込むussはこのフォルダに…という概念はなさそうだ。これはあきらめるしかない…
Timelineのパッケージや baba_sさんのブログ にあるように、
Assets/Editor/StyleSheets/Extensions または Packages/<パッケージ名>/Editor/StyleSheets/Extensions に入れれば、
AssetDatabase.LoadAssetAtPath
で読み込む必要はない、かもしれない?
うーん、でもローカルパッケージでうまくいかないのよね…
ログ (Editor.log)に出るみたいなので確認…できた。
より、どうやら読み込んだUSSファイルはLoading style catalogs (10)
StyleSheets/Extensions/base/common.uss
UIPackageResources/StyleSheets/Default/Variables/Public/common.uss
StyleSheets/Northstar/common.uss
StyleSheets/Extensions/fonts/inter.uss
StyleSheets/Extensions/base/dark.uss
UIPackageResources/StyleSheets/Default/Northstar/Palette/dark.uss
Packages/com.murnana.uielements/Editor/StyleSheets/Extensions/common.uss
Packages/com.unity.timeline/Editor/StyleSheets/Extensions/dark.uss
Packages/com.murnana.uielements/Editor/StyleSheets/Extensions/dark.uss
Packages/com.unity.timeline/Editor/StyleSheets/Extensions/common.uss
読み込めてるってことは、Elements側(今はC#で書いてるのでそっちかな)のただの設定間違いの疑惑
UnityEditor.EditorWindow.CreateGUI()
の最後に、rootVisualElement.styleSheets の中身を確認してみたが
時点ではそのスタイルシートがいない…?どういうことだ…?
Timelineパッケージ の中身をみたところ、そもそも描画をUnityEditor.EditorWindow.CreateGUI()
でなく UnityEditor.EditorWindow.OnGUI()
でやっている模様。根本から違ったか…そしてこれを読み解く気力はないなぁ…
スクリプトリファレンスにはないけど、Timelineで使っている UnityEditor.EditorStyles.FromUSS
は使えそう
ということはIMGUIで描画するときに、スタイルシートから特定のクラスのスタイルを呼び出すってときはいいのかもしれない?