about summary refs log tree commit diff stats
path: root/data
ModeNameSize
-rw-r--r--README.md470log stats plain blame
-rw-r--r--connections.txtpb33596log stats plain blame
-rw-r--r--door_groups.txtpb2814log stats plain blame
-rw-r--r--ids.yaml84523log stats plain blame
d---------maps2216log stats plain
-rw-r--r--metadata.txtpb650log stats plain blame
-rw-r--r--progressives.txtpb490log stats plain blame
adding-left: 5px; padding-right: 5px; } .highlight .hll { background-color: #ffffcc } .highlight .c { color: #888888 } /* Comment */ .highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */ .highlight .k { color: #008800; font-weight: bold } /* Keyword */ .highlight .ch { color: #888888 } /* Comment.Hashbang */ .highlight .cm { color: #888888 } /* Comment.Multiline */ .highlight .cp { color: #cc0000; font-weight: bold } /* Comment.Preproc */ .highlight .cpf { color: #888888 } /* Comment.PreprocFile */ .highlight .c1 { color: #888888 } /* Comment.Single */ .highlight .cs { color: #cc0000; font-weight: bold; background-color: #fff0f0 } /* Comment.Special */ .highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */ .highlight .ge { font-style: italic } /* Generic.Emph */ .highlight .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */ .highlight .gr { color: #aa0000 } /* Generic.Error */ .highlight .gh { color: #333333 } /* Generic.Heading */ .highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */ .highlight .go { color: #888888 } /* Generic.Output */ .highlight .gp { color: #555555 } /* Generic.Prompt */ .highlight .gs { font-weight: bold } /* Generic.Strong */ .highlight .gu { color: #666666 } /* Generic.Subheading */ .highlight .gt { color: #aa0000 } /* Generic.Traceback */ .highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */ .highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */ .highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */ .highlight .kp { color: #008800 } /* Keyword.Pseudo */ .highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */ .highlight .kt { color: #888888; font-weight: bold } /* Keyword.Type */ .highlight .m { color: #0000DD; font-weight: bold } /* Literal.Number */ .highlight .s { color: #dd2200; background-color: #fff0f0 } /* Literal.String */ .highlight .na { color: #336699 } /* Name.Attribute */ .highlight .nb { color: #003388 } /* Name.Builtin */ .highlight .nc { color: #bb0066; font-weight: bold } /* Name.Class */ .highlight .no { color: #003366; font-weight: bold } /* Name.Constant */ .highlight .nd { color: #555555 } /* Name.Decorator */ .highlight .ne { color: #bb0066; font-weight: bold } /* Name.Exception */ .highlight .nf { color: #0066bb; font-weight: bold } /* Name.Function */ .highlight .nl { color: #336699; font-style: italic } /* Name.Label */ .highlight .nn { color: #bb0066; font-weight: bold } /* Name.Namespace */ .highlight .py { color: #336699; font-weight: bold } /* Name.Property */ .highlight .nt { color: #bb0066; font-weight: bold } /* Name.Tag */ .highlight .nv { color: #336699 } /* Name.Variable */ .highlight .ow { color: #008800 } /* Operator.Word */ .highlight .w { color: #bbbbbb } /* Text.Whitespace */ .highlight .mb { color: #0000DD; font-weight: bold } /* Literal.Number.Bin */ .highlight .mf { color: #0000DD; font-weight: bold } /* Literal.Number.Float */ .highlight .mh { color: #0000DD; font-weight: bold } /* Literal.Number.Hex */ .highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */ .highlight .mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */ .highlight .sa { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Affix */ .highlight .sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */ .highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */ .highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */ .highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */ .highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */ .highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */ .highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */ .highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */ .highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */ .highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */ .highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */ .highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */ .highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
//
//  GameModeSelectionLayer.m
//  Cartographic
//
//  Created by Starla Insigna on 8/18/11.
//  Copyright 2011 Four Island. All rights reserved.
//

#import "GameModeSelectionLayer.h"
#import "GameModeSelection.h"
#import <sqlite3.h>
#import "Cart_CollectAppDelegate.h"
#import "MainMenuLayer.h"
#import "TutorialMode.h"
#import "ClassicGameMode.h"
#import "NMPanelMenu.h"

@implementation GameModeSelectionLayer

+ (CCScene*)scene
{
    CCScene* scene = [CCScene node];
    
    CCLayer* backgroundLayer = [[[CCLayer alloc] init] autorelease];
    CCSprite* backgroundImage = [CCSprite spriteWithFile:@"paintdaubs.png"];
    backgroundImage.position = ccp(240,160);
    [backgroundLayer addChild:backgroundImage];
    [scene addChild:backgroundLayer];
	
	GameModeSelectionLayer* layer = [GameModeSelectionLayer node];
	[scene addChild:layer];
	
	return scene;
}

- (id)init
{
    self = [super init];
    
    if (nil != self)
    {
        NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults];
        gameModes = [[NSMutableArray alloc] init];
        
        GameModeSelection* tutorialSelection = [GameModeSelection selectionWithName:@"Tutorial" location:@"Florence" filename:@"florence" unlocked:YES];
        [gameModes addObject:tutorialSelection];
        
        GameModeSelection* collectSelection;
        
        if ([defaults boolForKey:@"hasDoneTutorial"])
        {
            const char* sqlQuery = "SELECT * FROM highscores ORDER BY score DESC LIMIT 1";
            sqlite3_stmt* compiled_statement;
            int score = 0;
            
            if (sqlite3_prepare_v2([Cart_CollectAppDelegate database], sqlQuery, -1, &compiled_statement, NULL) == SQLITE_OK)
            {
                if (sqlite3_step(compiled_statement) == SQLITE_ROW)
                {
                    score = sqlite3_column_int(compiled_statement, 2);
                }
            }
            
            collectSelection = [GameModeSelection selectionWithName:@"Collect" location:@"Paris" filename:@"paris" highscore:score];
        } else {
            collectSelection = [GameModeSelection selectionWithName:@"Collect" location:@"Paris" filename:@"paris" unlockCondition:@"Beat the tutorial!"];
        }
        
        [gameModes addObject:collectSelection];
        
        CCMenu* menu = [CCMenu menuWithItems:nil];
        float onePanelWide = 128;
        float padding = 15;
        float totalPanelWidth = onePanelWide + padding*2;
        float numberOfPanels = [gameModes count];
        float totalWidth = numberOfPanels * totalPanelWidth;
        int currentWorldOffset = [defaults integerForKey:@"lastSelectedMode"];
        CCLayer* panels = [CCLayer node];
        
        for (GameModeSelection* gameMode in gameModes)
        {
            [gameMode setDelegate:self];
            [menu addChild:gameMode];
        }
        
        [menu alignItemsHorizontallyWithPadding:padding*2];
        [panels addChild:menu];
        [self addChild:panels];
        
        pageControl = [[UIPageControl alloc] init];
        pageControl.numberOfPages = numberOfPanels;
        pageControl.currentPage = currentWorldOffset;
        pageControl.frame = CGRectMake(0, 250, 480, 20);
        
        menu.position = ccpAdd(menu.position, ccp(totalWidth/2 - totalPanelWidth/2, 320));
        touchDelegatingView = [[TouchDelegatingView alloc] initWithFrame:CGRectMake(0, 0, 480, 320)];
        scrollView = [[CocosOverlayScrollView alloc] initWithFrame:CGRectMake(0, 0, totalPanelWidth, 320) numPages:numberOfPanels width:totalPanelWidth layer:panels pageControl:pageControl];
        touchDelegatingView.scrollView = scrollView;
        [scrollView setContentOffset:CGPointMake(currentWorldOffset*totalPanelWidth+1,0) animated:NO];
        
        CCMenuItemImage* newgameMenuItem = [CCMenuItemImage itemFromNormalImage:@"back.png" selectedImage:@"back2.png" target:self selector:@selector(mainmenu)];
        NMPanelMenu* myMenu = [NMPanelMenu menuWithItems:newgameMenuItem, nil];
        myMenu.position = ccp(240, 30);
        [self addChild:myMenu];
    }
    
    return self;
}

- (void)onEnterTransitionDidFinish
{
    [super onEnterTransitionDidFinish];
    
    [[[CCDirector sharedDirector] openGLView] addSubview:pageControl];
    [[[CCDirector sharedDirector] openGLView] addSubview:touchDelegatingView];
    [[[CCDirector sharedDirector] openGLView] addSubview:scrollView];
}

- (void)onExit
{
    [super onExit];
    
    [touchDelegatingView removeFromSuperview];
    [scrollView removeFromSuperview];
    [pageControl removeFromSuperview];
}

- (void)mainmenu
{
    [[CCDirector sharedDirector] replaceScene:[MainMenuLayer scene]];
}

- (void)didSelectGameMode:(GameModeSelection *)gameMode
{
    NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults];
    [defaults setInteger:[gameModes indexOfObject:gameMode] forKey:@"lastSelectedMode"];
    
    if ([gameMode.name isEqual:@"Tutorial"])
    {
        [[CCDirector sharedDirector] replaceScene:[TutorialMode scene]];
    } else if ([gameMode.name isEqual:@"Collect"])
    {
        [[CCDirector sharedDirector] replaceScene:[ClassicGameMode scene]];
    }
}

@end