Stateパターン
皆さんこんにちは。ひろたか('Д')です。
今回はデザインパターンの一つのStateパターンについてご紹介します。
目次
Stateパターンとは
Stateパターンとは、振る舞いに関するデザインパターンの一つでオブジェクトの「状態(State)」をクラスで表現するパターンです。
状態・動作の変化に応じて振る舞いが変わるようなときに使えます。
例
キャラクターの移動と待機状態をステートパターンで分けたもののサンプルです。
なお、環境はUnity2017.4.0f1です。
悪い例
良い例
各種ステートクラスの状態がそのままのならばnullが返るためstateは変わりません。
状態が変わった際にはcurrentStateがnullではなくなり14行目のif文に入りstateが変わります。
まとめ
Stateパターンを使うとif文やswitch文で処理を切り替えずにすみコードが見やすくなります。また、新しい状態が必要になったときも追加が簡単にできます。
是非皆さんも使ってみて下さい。