11/09/07 01:02:00.30 2Lv+in6p
一応書いておくと、話題に挙がった、タスク = ゲームオブジェクト なタスクシステムのほかに、
タスク = 純粋な処理 なタスクシステムもある。
一見良さそうだけど、種類の違うタスクを同じコンテナに混ぜ込んじゃうから本質的には何も変わらない。
コンテキストが必要なタスクの場合、
タスクのコンテキスト構造体を作って型ごとにリストで管理。
foreach( タスク1のリスト ){ タスク1の処理( タスク1 ); }
foreach( タスク2のリスト ){ タスク2の処理( タスク2 ); }
コンテキスト不要なタスクの場合、タスク=関数。
foreach( 敵リスト ){ タスク1( 敵 ); }
foreach( 敵リスト ){ タスク2( 敵 ); }
こうした方が良い。