Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //
- // Gameplay.m
- // OrcInvasion
- //
- // Created by Jan on 11/8/11.
- // Copyright (c) 2011 __MyCompanyName__. All rights reserved.
- //
- #import "Gameplay.h"
- #import "OIheaders.h"
- @implementation Gameplay
- - (id) initWithGame:(Game *)theGame {
- self = [super initWithGame:theGame];
- if (self != nil) {
- level = [[Level alloc] initWithGame:self.game gameplay:self];
- physics = [[Physics alloc] initWithGame:self.game level:level];
- player = [[Player alloc] initWithGame:self.game arrow:level.arrow];
- hud = [[GameHud alloc] initWithGame:self.game];
- hudRenderer = [[GUIRenderer alloc] initWithGame:self.game scene:hud.scene];
- renderer = [[Renderer alloc] initWithGame:self.game gameplay:self];
- //demoplayer = [[DemoPlayer alloc] initWithGame:self.game level:level];
- hudRenderer.drawOrder = 1;
- player.updateOrder = 0;
- //demoplayer.updateOrder = 0;
- physics.updateOrder = 1;
- level.updateOrder = 2;
- hud.updateOrder = 3;
- self.updateOrder = 4;
- }
- return self;
- }
- - (void) activate {
- [self.game.components addComponent:level];
- [self.game.components addComponent:renderer];
- [self.game.components addComponent:hud];
- [self.game.components addComponent:hudRenderer];
- [self.game.components addComponent:physics];
- [self.game.components addComponent:player];
- //[self.game.components addComponent:demoplayer];
- }
- - (void) deactivate {
- [self.game.components removeComponent:level];
- [self.game.components removeComponent:renderer];
- [self.game.components removeComponent:hud];
- [self.game.components removeComponent:hudRenderer];
- [self.game.components removeComponent:physics];
- [self.game.components removeComponent:player];
- //[self.game.components removeComponent:demoplayer];
- }
- @synthesize lives, level, score, hud;
- - (void) initialize {
- [self reset];
- [super initialize];
- }
- - (void) updateWithGameTime:(GameTime *)gameTime {
- if (lives < 0) {
- //TODO lose screen
- [orcInvasion popState];
- }
- if (score == 3) {
- //TODO win screen
- [orcInvasion popState];
- }
- if (level.arrow.hit) {
- [level.arrow resetWithGame:self.game];
- }
- if (level.arrow.position.x > self.game.window.clientBounds.width || level.arrow.position.x < 0 || level.arrow.position.y < 0) {
- [level.arrow resetWithGame:self.game];
- }
- }
- - (void) reset {
- lives = 3;
- score = 0;
- [level reset];
- [hud reset];
- }
- - (void) dealloc {
- [level release];
- [hudRenderer release];
- [hud release];
- [renderer release];
- [physics release];
- [player release];
- //[demoplayer release];
- [super dealloc];
- }
- @end
Add Comment
Please, Sign In to add comment