Skip to content
Daisuke Suzuki edited this page Feb 23, 2021 · 2 revisions

今回のテーマ

今回のテーマは以下になります。

  • イベント駆動型モデル

教材をセットアップする

  1. ex4_exercise.unitypackage をダウンロードして Unity のプロジェクトにインポートする
  2. Assets/_4_ex4_Event 以下に今回のアセットがインポートされる

参考資料

『独習 C#』 11.4 イベント

課題

課題 1

RougueLikeTurnBasedGridMovement シーンに手を加えて、以下のように、画面に「ターン数」が表示されるように機能を追加せよ。

課題 2

Exercise シーンに手を加えて、以下のように、シーンにポーズ機能を追加せよ。

ただし、

  • Time.timeScale を操作してはならない
  • ESC キーが押された時にイベントを発行し、それを各オブジェクトで受け取って pause/resume するように作ること
  • 今回は Rigidbody の動きを止めればよい
    • 今回は Ridigbody.Sleep() で止めて、Rigidbody.WakeUp() で動かせばよい

(注)今回のシーンでは、Time.timeScale で pause/resume することもできるが、そうでない場合もあるため今回のような手法を知っておくこと。また、今回のシーンでは簡単のため Ridigbody.Sleep()/WakeUp() で pause/resume してよいとしているが、本来はそれだけでは不十分であり、Velocity や AngularVelocity を保存して resume 時に戻さなくてはならない(ヒント)。