Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -(id) initWithId:(int)sceneId
- {
- CCLOG(@"scene With id");
- if ((self = [super init]))
- {
- //All common initialization happens here..
- switch (sceneId) {
- case 1:
- [self loadFirstLevelData];
- break;
- case 2:
- [self loadSecondLevelData];
- break;
- default:
- [self loadSecondLevelData];
- break;
- }
- //Other common stuff..
- [self setUpCounters];
- [self setUpWeaponsMenu];
- [self scheduleUpdate];
- [self schedule:@selector(timerUpdate:) interval:1];
- InputLayerButtons* inputLayer = [InputLayerButtons node];
- [self addChild:inputLayer z:1 tag:GameSceneLayerTagInput];
- }
- E.g. FirstGameScene : GameScene
- -(void) loadFirstLevelData{
- //HERE WILL LOAD ALL SPECIFIC ELEMENTS: ENEMIES, BONUSES etc..
- //AS WELL AS THE MUSIC FOR THE LEVEL
- [[MusicLayer sharedMusicLayer] _loadMusic:@"1.mp3"];
- [[MusicLayer sharedMusicLayer] playBackgroundMusicFile: @"1.mp3"];
- }
- -(void) cleanup
- {
- //Should I remove all child loaded in LoadLevelData??
- CCLOG(@"cleanup GameScene");
- [[MusicLayer sharedMusicLayer] stopAllMusic];
- //MusicLayer is not a child of GameScene but of AppDelegate - the idea is to keep loading and unloading music files - sometimes I need to keep playing the file between scenes and hence I used the singleton pattern for this as well..
- [super cleanup];
- }
- #import "ShooterScene.h"
- #import "LevelData.h"
- #import "HudLayer.h"
- @interface ShooterScene (PrivateMethods)
- -(void) loadGameArtFile;
- @end
- @implementation ShooterScene
- + (id) sceneWithId:(int)sceneId
- {
- CCScene *scene = [CCScene node];
- ShooterScene * shooterLayer = [ShooterScene node];
- [scene addChild:shooterLayer];
- [shooterLayer loadGameArtFile];
- LevelData * levelData = [LevelData node];
- [shooterLayer addChild:levelData];
- switch (sceneId) {
- case 1:
- [levelData loadLevelDataOne];
- break;
- case 2:
- [levelData loadLevelDataOne];
- break;
- default:
- break;
- }
- HudLayer * hud = [HudLayer node];
- [hud setUpPauseMenu];
- [shooterLayer addChild:hud];
- return scene;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement