😭
UniRxのOnMouseDownAsObservableがエラーになった話
結論
ビルド設定でビルドプラットフォームをWindowsからAndroid(スマートフォン)に変更していたため
(エラー無し当時の状況はwindowsにしていた)
該当コード部分
#if !(UNITY_IPHONE || UNITY_ANDROID || UNITY_METRO)
#region ObservableMouseTrigger
/// <summary>OnMouseDown is called when the user has pressed the mouse button while over the GUIElement or Collider.</summary>
public static IObservable<Unit> OnMouseDownAsObservable(this GameObject gameObject)
{
if (gameObject == null) return Observable.Empty<Unit>();
return GetOrAddComponent<ObservableMouseTrigger>(gameObject).OnMouseDownAsObservable();
}
・・・
これの
#if !(UNITY_IPHONE || UNITY_ANDROID || UNITY_METRO)
というプリプロセッサ命令があった。
これが原因で、ANDROIDをビルド対象にした際にエラーが発生した。
つまり
そもそも論、OnMouse Mouseってついているんだし、端末をビルド対象にしたら
エラーになるのは当たり前じゃん、自分
ほんとなにやってんだろ~と思いました。
UniRx、便利ですが1mmもわからない...
皆様も是非使ってみてくださいね。
Discussion