[Unity] WWWリクエストのタイムアウトを実装する

UnityのWWWクラスには元々タイムアウトの機能が実装されていません。
そこで、何とかして簡単にタイムアウト機能を実装して使えないかどうか考えました。

あまり良い方法が思いつきませんでしたが、以下のようにMonoBehabiourを継承したクラスを実装し、GameObjectにアタッチして使えばひとまずは実現できます。

上記スクリプトを任意のGameObjectにアタッチすると使えるようになります。
実際の使い方は以下のようになります。

タイムアウトになったときにはConnectionManager.isTimeOutがtrueとなります。
WWWにてサーバにリクエストを出すときは毎回ConnectionManager.Request()メソッドを呼び出すようにすればOKです。

理想を言うとWWWクラスを継承したいところですが、出来ないため上記のような方法を取るようにしています。
WWWクラスを直接利用せず、通信の管轄クラスを実装して使うようにするのが無難と言えそうです。