へくれすブログ

UnityとC#中心の備忘録です

C#

【Unity】PlayMakerFSMとZenjectの連携

概要 PlayMakerFSM を継承したステート処理に Zenject で値を Inject したい。 解決方法 PlayMakerFSM の最初のステートで'zenjectReady'イベントを待機させる。 すべての FsmStateAction を明示的に Inject する。 zenjectReady イベントを流す。 PlayMaker…

【Unity】InputFieldの編集終了が完了/キャンセルのどちらか判別する方法

InputFieldのOnEndEditイベント発行時にinputField.touchScreenKeyboard.statusを調べることで判別できます。 ※TouchScreenKeyboard.isSupported=trueの環境のみ(Editor環境ではfalse)。

【Unity】コードから最新のYAMLクラスIDリファレンスを取得する方法

今回はYAMLクラスIDリファレンスを取得する方法についてです。 Unityの公式ドキュメントの情報が古いためリフレクションで強引に取得します。 YAMLクラスIDとは YAML(ヤメル、ヤムル)はデータ形式の一種です。XMLやJSONなどの同類です。 そしてクラスIDと…

【Unity】【エディタ拡張】Project Settingsへのショートカット(ツールバー型)

2018/03/16追記 本記事を投稿した2日後に気が付いたのですが、 参考サイト様で既に完全上位互換のツールが公開されていました。 baba-s.hatenablog.com baba-s.hatenablog.com 恥ずかしながら、記事作成時はまったく気が付いておりませんでした。 本記事のツ…

【Unity】画面の縁を当たり判定のある壁にする方法

正確には撮影範囲をColliderで囲う方法についてです。 前提としてCamera.orthographicSizeを使用しますので2D専用のTipsです。 中央の白い四角が撮影範囲で、周りの緑の四角がBoxCollider2D×4です。 撮影範囲の各辺にBoxCollider2Dを隣接させています。 オブ…

【Unity】【UniRx】ストリーム内での例外発生箇所を調べる方法

UniRxの例外出力を分かりやすくするTipsについてです。 .NetFrameWork4.5以降で可能なやり方なのでご注意ください。 UniRxは非常に便利で強力なアセットですが、個人的に1つ不満があります。 ストリームで例外が発生した際にスタックトレースを握りつぶして…