IL2CPP を使ったマネージバイトコードストリップ
メッセージシステム

イベントシステム

EventSystem はキーボード、マウス、タッチやカスタムの入力に基づいて、アプリケーション内のオブジェクトにイベントを送信する方法です。EventSystem はイベントを送信するために協調する、いくつかのコンポーネントで構成されています。

概要

あなたがゲームオブジェクトに EventSystem コンポーネントを追加するとき、それは多くの機能が露出していないことに気付くでしょう。これは EventSystem 自身が EventSystem モジュール間の通信の管理者と進行役として設計されているからです。

EventSystem の主な役割は以下のとおりです。

  • どのゲームオブジェクトを選択するかを管理
  • どの InputModule を使うかを管理
  • Raycast 使用の管理(必要な場合)
  • 必要に応じて、すべての InputModule を更新

入力モジュール

入力モジュールは、EventSystem をどのように動作させたいのかという主な論理を生かすところであり、以下のために使われます。

  • 入力の取り扱い
  • イベントのステート管理
  • シーンオブジェクトにイベントを送信。

InputModule は、一度に一つだけ EventSystem をアクティブにすることができます。また、InputModule コンポーネントは、EventSystem コンポーネントと同じゲームオブジェクト上になければなりません。

カスタム入力モジュールを記述する場合、Unity既存の UI コンポーネントでサポートしているイベントを送信することをお勧めします。また、メッセージングシステムのマニュアルで詳細を説明しているように、独自のイベントを追加することもできます。

レイキャスター

Raycaster は、ポインターが何であるかを調べるために使用されます。InputModule はシーンの中で Raycaster を設定し、指し示すものものが何かを検出します。

デフォルトでは 3 つの Raycaster が設けられています。

  • Graphic Raycaster - UI 要素のために使われます
  • Physics 2D Raycaster - 2D 物理要素で使用します。
  • Physics Raycaster - 3D 物理要素で使用します。

シーン内に 2D/3D Raycaster がある場合、UI 要素が InputModule からのメッセージを容易に受け取ることが可能です。これはイベントインターフェースを実装したスクリプトをアタッチするだけです。

IL2CPP を使ったマネージバイトコードストリップ
メッセージシステム