ソースを整理しました
次はプラグインを作るなどと言っておきながら、
今まで作ったソースの整理などやっておりました…
具体的に何をしたかというと、
・コメントを整理。
・namespaceを使用してクラス名を整理。
・文字列操作系のユーティリティクラスを作成
_tcscpy_s、_tcscmpなどのユニコードにも対応できる関数のラッパー。
・Texture, VertexBufferなど、Direct3D系のクラスは
Deviceからしかインスタンス化できないように変更。
これらのクラスは完全にDeviceに依存しているのでそのようにしました。
初期化はこのようになります。
// 初期化 { window::WindowManager::CreateInstance(); window::WindowManager* window_manager = window::WindowManager::GetInstance(); // ウィンドウクラス登録 window_manager->RegisterClass( iInstance, WINDOW_CLASS_NAME, CS_OWNDC ); // ウィンドウコールバッククラス作成 mWindowCallback = new CMainWindowCallback(); // ウィンドウ作成 s32 w = ( CLIENT_WIDTH + SYSTEM_WIDTH ); s32 h = ( CLIENT_HEIGHT + SYSTEM_HEIGHT ); mWindow = window_manager->AddWindow( iInstance, WINDOW_STYLE_WINDOWED, WINDOW_EX_STYLE_WINDOWED, NULL, w, h, WINDOW_CLASS_NAME, WINDOW_TITLE, mWindowCallback ); // Direct3Dマネージャ作成 d3d::DeviceManager::CreateInstance(); d3d::DeviceManager::GetInstance()->Activate(); // デバイス作成 mDeviceId = d3d::DeviceManager::GetInstance()->CreateDevice( mWindow->GetHandle(), CLIENT_WIDTH, CLIENT_HEIGHT, true ); d3d::Device* device = d3d::DeviceManager::GetInstance()->GetDevice( mDeviceId ); // テクスチャ作成 device->CreateTextureManager(); d3d::TextureManager* tm = device->GetTextureManager(); mTextureId0 = tm->Add( __T( "data/test.bmp" ), device, 0xff000000 ); // スプライト作成 device->CreateSpriteRenderer(); // 簡易フォント作成 device->CreateSimpleFont(); }
次は今度こそプラグインを作成します。
コメントする
トラックバックする
トラックバック用URL: