forked from insurgentgames/teh-internets
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Stats.mm
88 lines (76 loc) · 2.52 KB
/
Stats.mm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
#import "Stats.h"
#import "OFAchievementService.h"
#import "Achievements.h"
#import "tehinternetsAppDelegate.h"
@implementation Stats
@synthesize stats;
@synthesize totalTimeWasted;
@synthesize totalScore;
@synthesize totalLolcats;
@synthesize totalLollerskaters;
@synthesize totalCheezburgersEaten;
@synthesize totalTrollsKilled;
- (id) init {
if((self = [super init])) {
NSLog(@"Stats init");
[self load];
}
return self;
}
- (void) dealloc {
NSLog(@"Stats dealloc");
[super dealloc];
}
- (NSString*)getFilePath {
NSArray* paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString* documentsDirectory = [paths objectAtIndex:0];
return [documentsDirectory stringByAppendingPathComponent:@"Stats.plist"];
}
- (void) load {
if([[NSFileManager defaultManager] fileExistsAtPath:[self getFilePath]]) {
NSLog(@"Loading stats");
stats = [NSArray arrayWithContentsOfFile:[self getFilePath]];
totalTimeWasted = [[stats objectAtIndex:0] intValue];
totalScore = [[stats objectAtIndex:1] intValue];
totalLolcats = [[stats objectAtIndex:2] intValue];
totalLollerskaters = [[stats objectAtIndex:3] intValue];
totalCheezburgersEaten = [[stats objectAtIndex:4] intValue];
totalTrollsKilled = [[stats objectAtIndex:5] intValue];
} else {
NSLog(@"Create new stats files");
totalTimeWasted = 0;
totalScore = 0;
totalLolcats = 0;
totalLollerskaters = 0;
totalCheezburgersEaten = 0;
totalTrollsKilled = 0;
[self save];
}
}
- (void) save {
NSLog(@"Saving stats");
stats = [NSArray arrayWithObjects:
[NSNumber numberWithInt:totalTimeWasted],
[NSNumber numberWithInt:totalScore],
[NSNumber numberWithInt:totalLolcats],
[NSNumber numberWithInt:totalLollerskaters],
[NSNumber numberWithInt:totalCheezburgersEaten],
[NSNumber numberWithInt:totalTrollsKilled],
nil];
[stats writeToFile:[self getFilePath] atomically:YES];
[self display];
// submit total achievements
[((tehinternetsAppDelegate*)([UIApplication sharedApplication].delegate)) submitTotals];
// 12 hours?
if(totalTimeWasted >= 43200)
[OFAchievementService unlockAchievement:ACHIEVEMENT_IS_THIS_GONNA_BE_FOREVER];
}
- (void) display {
NSLog(@"Stats totalTimeWasted: %i", totalTimeWasted);
NSLog(@"Stats totalScore: %i", totalScore);
NSLog(@"Stats totalLolcats: %i", totalLolcats);
NSLog(@"Stats totalLollerskaters: %i", totalLollerskaters);
NSLog(@"Stats totalCheezburgersEaten: %i", totalCheezburgersEaten);
NSLog(@"Stats totalTrollsKilled: %i", totalTrollsKilled);
}
@end