はじめまして。yukiと申します。
現在、弊社新作アプリとして、「脱出ゲーム」を開発しております。
その開発状況らしきものを当ブログにて発信していこうと思っています。
今回はクラス設計のお話です。
脱出ゲームでは
「画面上で何らかのオブジェクトをタップした時に何らかのアクションが起こる」
というのが、ゲームの最も基本的な動作となります。
そこで「オブジェクトがタップされた時に呼び出されるスクリプト(以下DefaultController)」を作り、
すべてのスクリプトを「DefaultController」から呼び出されるように、実装をすることに。
そしてタップされ得るすべてのオブジェクトに「DefaultController」を仕込みます。
例えば、アイテムを管理するスクリプト「ItemController」を呼びたい時に、
オブジェクトから直接「ItemController」を呼ぶのではなく、
「DefaultController」を介して「ItemController」を呼び出すようにします。
そうすることで、スクリプトの役割が明確になり、実装しやすく
またスクリプトごとにUpdate関数が呼ばれることがなくなるので、動作が軽くなる(かもしれない)。
まだシステム共通部分の実装でしかないので、
本当に動作が軽くなるのかは疑わしいですし、この設計を貫けるのかもわかりません。
何せUnityを触ったことも初めてなら、ゲーム開発に関わることも初めてなので!
ということで、何かの参考になる、というわけではありませんが、
ゲーム開発のとっかかりとしてこういう設計思想でスクリプトを作り始めたよ、というお話でした。