巨大に膨らんだキャラクタークラスが10,000行あったら…そっと閉じたくなるでしょう。
複数人で触れば競合するリスクも増えます。そこでpartialを使うと少しだけ幸せになれます。
UnityのC#でもpartialクラスは使えます。
しかし、いくつかのクラスを分割してデバッグしているとき、あることに気が付きました。
ブレークポイントは、現在の設定ではヒットしません。対応する場所を見つけることができません。
ブレークポイントで止まらねぇ…。
困ったことに、止まるときもあれば止まらないときもあります。
どうやらpartialクラスの場合、 Unityは1つのファイルをランダムに選んでいるようです。
他のpartialクラスにもブレーク入れてヒットすれば残りのファイルもロードされるようです。
https://forum.unity.com/threads/the-breakpoint-will-not-currently-be-hit-unable-to-find-a-corresponding-location.465034/
道理で止まったり止まらなかったりするわけだ。
これではテストしんどいんだけど…、安心してください。解決策があります!
この問題は既に報告されており、2018.3.11f1以降のバージョンでは修正されています。
Unity IssueTracker - Unable to find a corresponding location while using Partial classes/methods when debugging
Reproduction steps: 1. Open "Test Project.zip" project and "SampleScene" scene 2. Open "TestClass.Partial" in VS 3. In Line 9 add a ...
この記事の執筆時で2019の1.2も出てますし、2018は4.0でLTSが出てます。
どちらかにアップデートできるならこの問題は解決です。
プロジェクト事情でバージョンを上げられない場合、前述の癖を利用してUpdateにブレークポイントを仕込んで1度ヒットさせてからデバッグするか、partialクラスの利用を諦めるしかなさそうです。
こういう不具合はクラス設計にも影響するから困っちゃいますね…;;