void CFileView::ClearList() { if (_mapDoc && m_wndFileView) { ReleaseItems(); m_wndFileView.DeleteAllItems(); } }
//---------------------------------------------------------------------------- // Nome: Release(void) // Desc: Finaliza a classe, liberando todos os objetos alocados. // Pams: nenhum //---------------------------------------------------------------------------- bool CLevel::Release(void) { //desaloca os personagens ReleaseCharacters(); //desaloca os itens ReleaseItems(); //releasing menu Menu.Release(); //deleta os sons pr_Main->SoundManager.DeleteSound(&p_SndSwitch); pr_Main->SoundManager.DeleteSound(&p_SndCongrats); pr_Main->SoundManager.DeleteSound(&p_SndTrack); //libera a cena da classe pai CNGLScene::Release(); return true; }
//---------------------------------------------------------------------------- // Nome: ChangeState(CLevel::GameState NewState) // Desc: Muda o estado da máquina de estados da CLevel // Pams: novo estado //---------------------------------------------------------------------------- void CLevel::ChangeState(CLevel::GameState NewState) { //somente muda o estado se o novo for diferente do atual if(State != NewState) { switch(NewState) { case GS_GAME: { if(State == GS_MENU) { if(!Menu.bInGame) { Menu.bInGame = true; //indica para o menu que o jogo está rodando CreateItems(); //cria os itens CreateEnemies(); //cria os inimigos CreatePlayer(); //cria o jogador if(p_SprSwitch) { //ajusta animação da alavanca da fase para 0 (levantada) p_SprSwitch->SetCurrentAnimation(0); } //faz aparecer layer de interface (com pontos e vidas) p_LayInterface->bVisible = true; } //esconde menu Menu.Show(false); State = NewState; //estado atual recebe novo estado break; } if(State == GS_PAUSE) { //17.5.3. Esconder mensagem de pausa p_MsgPaused->bVisible = false; State = NewState; //estado atual recebe novo estado break; } break; } case GS_PAUSE: { if(State == GS_GAME) { //17.5.3. Exibir mensagem de pausa if(p_MsgPaused) { p_MsgPaused->bVisible = true; } State = NewState; //estado atual recebe novo estado break; } break; } case GS_MENU: { if(State == GS_GAME) { Menu.bInGame = true; //mostrará botão "Continuar" Menu.Show(true); //mostra o menu principal State = NewState; //estado atual recebe novo estado break; } if((State == GS_CONGRATULATIONS)||(State == GS_GAMEOVER)) { if(p_MsgCongrats) { //esconde mensagem de congratulação p_MsgCongrats->bVisible = false; } if(p_MsgGameOver) { //esconde mensagem de game over p_MsgGameOver->bVisible = false; } ReleaseCharacters(); //desalocando os inimigos ReleaseItems(); //desalocando os itens Menu.bInGame = false; //mostrará botão "Novo Jogo" Menu.Show(true); //mostra o menu principal Scroll(CNGLVector(0,0)); //desloca a as layers para o início da fase State = NewState; //estado atual recebe novo estado break; } break; } case GS_GAMEOVER: { if(State == GS_GAME) { if(p_MsgGameOver) { //mostra mensagem de game over p_MsgGameOver->bVisible = true; } State = NewState; //estado atual recebe novo estado break; } break; } case GS_CONGRATULATIONS: { if(State == GS_GAME) { //21.1.4. //1. mostrar mensagem de congratulação //2. reproduz o som de congratulação //3. troca a animação do jogador para a 2 State = NewState; //estado atual recebe novo estado break; } break; } } } }