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 |