Chromium Code Reviews| OLD | NEW |
|---|---|
| (Empty) | |
| 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | |
| 2 // Use of this source code is governed by a BSD-style license that can be | |
| 3 // found in the LICENSE file. | |
| 4 #include "game_manager.h" | |
| 5 #include "level_layer.h" | |
| 6 #include "ui_layer.h" | |
| 7 | |
| 8 USING_NS_CC; | |
| 9 | |
| 10 GameManager* GameManager::sharedManager() | |
| 11 { | |
| 12 static GameManager* shared_manager = NULL; | |
| 13 if (!shared_manager) | |
| 14 shared_manager = new GameManager(); | |
| 15 return shared_manager; | |
| 16 } | |
| 17 | |
| 18 void GameManager::CreateLevel(CCScene* scene) | |
| 19 { | |
| 20 CCLayer* physics = LevelLayer::create(level_number_); | |
|
noelallen1
2013/03/09 01:20:37
level?
Sam Clegg
2013/03/09 01:35:13
Done.
| |
| 21 scene->addChild(physics, 1, TAG_LAYER_LEVEL); | |
| 22 } | |
| 23 | |
| 24 void GameManager::Restart(CCScene* scene) | |
| 25 { | |
| 26 scene->removeChild(scene->getChildByTag(TAG_LAYER_LEVEL)); | |
| 27 scene->removeChild(scene->getChildByTag(TAG_LAYER_OVERLAY)); | |
| 28 CreateLevel(scene); | |
| 29 } | |
| 30 | |
| 31 void GameManager::LoadLevel(int level_number) | |
| 32 { | |
| 33 CCDirector* director = CCDirector::sharedDirector(); | |
| 34 CCTransitionScene* transition; | |
| 35 level_number_ = level_number; | |
| 36 CCScene* scene = CCScene::create(); | |
| 37 CCLayer* ui = UILayer::create(); | |
|
noelallen1
2013/03/09 01:20:37
How does the ui layer get populated?
Sam Clegg
2013/03/09 01:35:13
It self-populates on init().
In cocos there seem
| |
| 38 scene->addChild(ui, 3, TAG_LAYER_UI); | |
| 39 | |
| 40 CreateLevel(scene); | |
| 41 | |
| 42 director->setDepthTest(true); | |
| 43 transition = CCTransitionPageTurn::create(1.0f, scene, false); | |
| 44 director->pushScene(transition); | |
| 45 } | |
| 46 | |
| 47 void GameManager::GameOver(CCScene* scene, bool success) { | |
| 48 CCSize visible_size = CCDirector::sharedDirector()->getVisibleSize(); | |
| 49 | |
| 50 // Create a black overlay layer with success/failure message | |
| 51 CCLayer* overlay = CCLayerColor::create(ccc4(0x0, 0x0, 0x0, 0x0)); | |
| 52 const char* text = success ? "Success!" : "Failure!"; | |
| 53 CCLabelTTF* label = CCLabelTTF::create(text, "Arial.ttf", 24); | |
| 54 label->setPosition(ccp(visible_size.width/2, visible_size.height/2)); | |
| 55 overlay->addChild(label); | |
| 56 scene->addChild(overlay, 2, TAG_LAYER_OVERLAY); | |
| 57 | |
| 58 // Face the overlay layer into to 50% | |
| 59 CCActionInterval* fadein = CCFadeTo::create(0.5f, 0x7F); | |
| 60 overlay->runAction(fadein); | |
| 61 } | |
| OLD | NEW |