danmaq Nineball-Library for XNA v2

■BUGS

■TODO
シーンのゲームコンポーネント化
旧バージョンより音周り・セーブデータI/O・Xboxガイド周りの移植
入力の自動アサイン・フォース フィードバックのサポート
XBOX360上でのパフォーマンスチェック
ユニットテスト

-------------------------------------------------------------------------------
■2010/5/27 0.1.0.38
状態の変更を即時反映しないようにした。
結果、setup()内においても次の状態を設定できるようにした。
(但し、setup()内だけで状態を切り替え続けると、
ウェイトが入らず行儀の悪いプログラムとなるので推奨しない)
シーン管理クラスはゲームコンポーネントである必要がないので、継承を外した。
一部コメント不備の修正。

■2010/5/19 0.1.0.37
部分管理コレクションの応用クラスとしてシーン管理クラスを追加。

■2010/3/18 0.1.0.36
フェーズ・カウンタ管理クラス、及び音量管理を構造体化。

■2010/3/17 0.1.0.35
入力制御・管理コレクションで、方向ボタン入力の共存が出来ない不具合を修正。
方向ボタンの入力状態を示す構造体を追加。

■2010/3/15 0.1.0.34
CStaticRandom.reset()メソッドで、二重にRandomオブジェクトを生成していたので、抑制した。

■2010/2/26 0.1.0.33
Flyweightパターンの簡易実装クラスを作成。
部分責任コレクションに提携処理機能追加。

■2010/2/20 0.1.0.32
スプライトバッチ管理クラスの描画情報を再利用するようにした。
CInputManagerでコントローラ認識前にボタン割り当て定義をすると落ちる不具合を修正。

■2010/2/12 0.1.0.31
ゲーム コントローラ自動認識機能を使用するとキャストミスで落ちる不具合を修正。

■2010/2/9 0.1.0.30
状態を持つオブジェクトに親オブジェクトを設定した場合、デフォルトの
privateMemberプロパティの戻り値として、親オブジェクトのprivateMemberを返すようにした。
入力機能において、ボタン入力が反応しない不具合を修正。
入力機能コレクションから自動認識AI状態を分離。
入力機能コレクションにおいて、一度でも方向ボタン入力があると、
ずっと入力し続ける状態になってしまう不具合を修正。

■2010/2/5 0.1.0.29
方向ボタン取得機能において、ボタンと同様に押し離しした瞬間を検出できるようにした。

■2010/2/4 0.1.0.28
各入力制御・管理クラスを少ないコードで使用するためのラッパーを実装完了。

■2010/2/3 0.1.0.27
旧バージョンの各機能に対し、Obsolete属性を付加した。
各入力制御・管理クラスを少ないコードで使用するためのラッパーを半分ほど実装。
特定条件でキーボード・ゲーム コントローラ入力機能のボタン割り当ての際
ボタン変化のイベントが発生しない不具合(というより設計仕様上の欠陥に近い)を修正。

■2010/2/2 0.1.0.26
レガシ ゲーム コントローラ入力機能実装完了。
状態を持つオブジェクトクラスの名前タグ機能を廃止。
各入力制御・管理クラスを少ないコードで使用するためのラッパーをガワだけ作成。

■2010/1/29 0.1.0.25
レガシ ゲーム コントローラ入力のアナログ入力のための補助機能を実装。

■2010/1/29 0.1.0.24
レガシ ゲーム コントローラ入力の基底状態を作り直し、ガワだけ作成。
入力周りの列挙体を細分化した。

■2010/1/28 0.1.0.23
旧バージョンのセーブデータI/O機能を複数ファイルの読み書きに対応した。

■2010/1/27 0.1.0.22
旧バージョン部分にて、一部新バージョンで置き換えられる部分があったので置き換えた。
レガシ ゲーム コントローラ入力における方向ボタン取得機能をガワだけ実装。

■2010/1/26 0.1.0.21
入力制御・管理クラスに方向ボタン取得機能を追加。
現在、キーボード及びXBOX360ゲーム コントローラのみサポート。

■2010/1/25 0.1.0.20
レガシ ゲーム コントローラ入力機能を半分だけ実装。

■2010/1/24 0.1.0.19
キーボード・XBOX360チャットパッド用入力制御・管理クラスを追加。
入力制御・管理クラスのヌル実装を追加。
レガシ ゲーム コントローラ入力機能をガワだけ実装。
入力制御・管理コレクションの既定状態において、特定状況で規定以上の数の
ボタン状態を取得しようとして例外が発生する可能性がある不具合を修正。

■2010/1/23 0.1.0.18
旧バージョンのdanmaq Nineball Library互換クラスを追加。
名前空間を書き換えるだけである程度旧バージョンとソースレベル互換を保てます。
入力制御・管理コレクション用XBOX360ゲーム コントローラ自動認識状態・汎用自動認識待機状態を追加。
ソースを少しだけ整理。

■2010/1/22 0.1.0.17
部分責任リストの対象リストが読み取り専用状態である場合、例外を吐くようにした。
入力制御・管理クラスの基底インターフェイスのコレクションを作成。
XBOX360ゲーム コントローラの入力制御・管理クラスをガワだけ作成。

■2010/1/21 0.1.0.16
入力制御・管理クラスを一旦削除し、設計からやり直すことにした。
とりあえず基底インターフェイスを作成。

■2010/1/19 0.1.0.15
オブジェクトの状態が変化した時間を取得する機能を追加。

■2010/1/18 0.1.0.14
メインループの既定状態に深度バッファの有無を変更する機能を追加。
メインループの初期状態を任意の状態にカスタマイズできるようにした。

■2010/1/17 0.1.0.13
コーディングスタイル変更。

■2010/1/15 0.1.0.12
オブジェクトに親オブジェクトを設定する機能を追加。
ゲーム コンポーネント部分管理機能に、状態を持つオブジェクトを直接登録する機能を追加。

■2010/1/12 0.1.0.11
移動ボタンのベクトル算出機能追加。
レガシ ゲーム コントローラ入力機能の既定状態を作成、初期化処理を状態側に移動した。

■2010/1/11 0.1.0.10
レガシ ゲーム コントローラ入力機能を無効化するシンボル追加。

■2010/1/9 0.1.0.9
XBOX360ゲーム コントローラ入力機能を最低限の機能だけ実装完了。
レガシ ゲーム コントローラ入力機能を半分だけ実装。
一部文字列をリソースに隔離した。
Windows版でもXboxガイドヘルパが有効になっていた不具合を修正。
(XNAGSの入っているPCでないとコンパイルはおろか、プレイもできなくなる)

■2010/1/8 0.1.0.8
XBOX360ゲーム コントローラ入力機能を半分だけ実装。

■2010/1/7 0.1.0.7
メインループのデフォルト状態で持っていたフィールドの大半をオブジェクト側へ移行した。
キーボード入力機能実装。
XBOX360及びレガシ ゲームコントローラ入力機能をガワだけ実装。

■2010/1/6 0.1.0.5
静的な擬似乱数ジェネレータを追加。
フォントクラスにタイマー機能を追加。

■2010/1/5 0.1.0.4
グラデーション機能付きのフォント描画機能追加。
アセット遅延読み込み機能追加。
部分責任コレクション機能追加。
ゲームコンポーネント機能で、ゲームクラスに即時登録しない機能を追加。
ジェネリックスな状態機械クラスのインターフェイスを追加。
コルーチン管理機能のDispose()メソッドを呼ぶと、コルーチンの即時全削除をするようにした。
XNA・ビデオ環境検証機能にて、検証後自動的に次の状態へ移行する機能を追加。
算術演算機能・内分カウンタ機能のメソッドの整理。

■2009/12/29 0.1.0.2
音量管理機能、グラデーション機能、FPS計算機能、XBOXガイド補助機能、メッセージボックス機能、
解像度補完機能、ログ出力機能、スプライトバッチ補助機能、コルーチン管理機能を旧版より移植。

■2009/12/28 0.1.0.1
ジェネリックスな状態機械クラスを作成。
フェーズ・カウンタ管理クラスを作成。
メインループ クラスを作成。
ゲーム コンポーネントとエンティティ間のアダプタ クラスを作成。

■2009/12/27 0.1.0.0
状態機械ベースに作り直してみるテスト。
