-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathLeaderBoardHelper.swift
49 lines (40 loc) · 1.18 KB
/
LeaderBoardHelper.swift
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
//
// LeaderBoardHelper.swift
// OhMyPlane
//
// Created by HS Song on 2016. 4. 28..
// Copyright © 2016년 softdevstory. All rights reserved.
//
import Foundation
import GameKit
enum LeaderBoard: String {
case RedPlaneHighScore
case BluePlaneHighScore
case YellowPlaneHighScore
case GreenPlaneHighScore
var gkScore: GKScore {
let bundleId = Bundle.main.bundleIdentifier!
return GKScore(leaderboardIdentifier: "\(bundleId).\(self.rawValue)")
}
}
class LeaderBoardHelper {
static let sharedInstance = LeaderBoardHelper()
fileprivate init() {
// for singleton pattern
}
func createScore(_ planeType: PlaneType, score: Int) -> GKScore {
var gkScore: GKScore!
switch planeType {
case .Red:
gkScore = LeaderBoard.RedPlaneHighScore.gkScore
case .Yellow:
gkScore = LeaderBoard.YellowPlaneHighScore.gkScore
case .Blue:
gkScore = LeaderBoard.BluePlaneHighScore.gkScore
case .Green:
gkScore = LeaderBoard.GreenPlaneHighScore.gkScore
}
gkScore.value = Int64(score)
return gkScore
}
}