void CMainFrame::OnFileOpenScene() { using namespace engine; util_update_obj_property_grid(GameObjectPtr()); util_update_object_view(GameObjectPtr()); CFileDialog dlg(TRUE, L"scene", NULL, OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT, L"Game Scene Files (*.scene)|*.scene||"); if(IDOK != dlg.DoModal()) { util_update_object_view(Project::Instance()->Root()); return; } ProjectPtr pProject = Project::Instance(); pProject->CloseScene(); CString file = dlg.GetPathName(); if(pProject->LoadScene(file) == false) { MessageBox(L"Fialed to load scene.", L"error", MB_ICONERROR); return; } util_update_object_view(pProject->Root()); }