|
|
|
@ -309,15 +309,20 @@ enum TournamentLevel: Int, Hashable, Codable, CaseIterable, Identifiable { |
|
|
|
case p1000 = 1000 |
|
|
|
case p1000 = 1000 |
|
|
|
case p1500 = 1500 |
|
|
|
case p1500 = 1500 |
|
|
|
case p2000 = 2000 |
|
|
|
case p2000 = 2000 |
|
|
|
|
|
|
|
case championship = 1 |
|
|
|
|
|
|
|
|
|
|
|
init?(rawValue: Int?) { |
|
|
|
init?(rawValue: Int?) { |
|
|
|
guard let value = rawValue else { return nil } |
|
|
|
guard let value = rawValue else { return nil } |
|
|
|
self.init(rawValue: value) |
|
|
|
self.init(rawValue: value) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
static var assimilationAllCases: [TournamentLevel] { |
|
|
|
|
|
|
|
return [.p25, .p100, .p250, .p500, .p1000, .p1500, .p2000] |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
var entryFee: Double? { |
|
|
|
var entryFee: Double? { |
|
|
|
switch self { |
|
|
|
switch self { |
|
|
|
case .unlisted: |
|
|
|
case .unlisted, .championship: |
|
|
|
return nil |
|
|
|
return nil |
|
|
|
case .p25: |
|
|
|
case .p25: |
|
|
|
return 15 |
|
|
|
return 15 |
|
|
|
@ -325,6 +330,18 @@ enum TournamentLevel: Int, Hashable, Codable, CaseIterable, Identifiable { |
|
|
|
return 20 |
|
|
|
return 20 |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
func isAnimation() -> Bool { |
|
|
|
|
|
|
|
switch self { |
|
|
|
|
|
|
|
case .unlisted: |
|
|
|
|
|
|
|
return true |
|
|
|
|
|
|
|
case .championship: |
|
|
|
|
|
|
|
return false |
|
|
|
|
|
|
|
default: |
|
|
|
|
|
|
|
return false |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
func searchRawValue() -> String { |
|
|
|
func searchRawValue() -> String { |
|
|
|
String(describing: self) |
|
|
|
String(describing: self) |
|
|
|
} |
|
|
|
} |
|
|
|
@ -503,6 +520,8 @@ enum TournamentLevel: Int, Hashable, Codable, CaseIterable, Identifiable { |
|
|
|
return 1 |
|
|
|
return 1 |
|
|
|
case .p2000: |
|
|
|
case .p2000: |
|
|
|
return 0 |
|
|
|
return 0 |
|
|
|
|
|
|
|
case .championship: |
|
|
|
|
|
|
|
return 8 |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@ -514,6 +533,14 @@ enum TournamentLevel: Int, Hashable, Codable, CaseIterable, Identifiable { |
|
|
|
return displayStyle == .title ? "Animation" : "Anim." |
|
|
|
return displayStyle == .title ? "Animation" : "Anim." |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
if self == .championship { |
|
|
|
|
|
|
|
if DeviceHelper.isBigScreen() { |
|
|
|
|
|
|
|
return "Championnat" |
|
|
|
|
|
|
|
} else { |
|
|
|
|
|
|
|
return displayStyle == .title ? "Championnat" : "CHPT" |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
return String(describing: self).capitalized |
|
|
|
return String(describing: self).capitalized |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@ -544,7 +571,7 @@ enum TournamentLevel: Int, Hashable, Codable, CaseIterable, Identifiable { |
|
|
|
|
|
|
|
|
|
|
|
func points(for count: Int) -> [Int] { |
|
|
|
func points(for count: Int) -> [Int] { |
|
|
|
switch self { |
|
|
|
switch self { |
|
|
|
case .unlisted: |
|
|
|
case .unlisted, .championship: |
|
|
|
return [] |
|
|
|
return [] |
|
|
|
case .p25: |
|
|
|
case .p25: |
|
|
|
switch count { |
|
|
|
switch count { |
|
|
|
@ -682,7 +709,7 @@ enum TournamentLevel: Int, Hashable, Codable, CaseIterable, Identifiable { |
|
|
|
// |
|
|
|
// |
|
|
|
func minimumFormatFinalTableAndQualifier(roundIndex: Int) -> MatchFormat? { |
|
|
|
func minimumFormatFinalTableAndQualifier(roundIndex: Int) -> MatchFormat? { |
|
|
|
switch self { |
|
|
|
switch self { |
|
|
|
case .p25, .unlisted: |
|
|
|
case .p25, .unlisted, .championship: |
|
|
|
return nil |
|
|
|
return nil |
|
|
|
case .p100: |
|
|
|
case .p100: |
|
|
|
return .nineGamesDecisivePoint |
|
|
|
return .nineGamesDecisivePoint |
|
|
|
@ -711,7 +738,7 @@ enum TournamentLevel: Int, Hashable, Codable, CaseIterable, Identifiable { |
|
|
|
|
|
|
|
|
|
|
|
func minimumFormatLoserBracket(roundIndex: Int) -> MatchFormat? { |
|
|
|
func minimumFormatLoserBracket(roundIndex: Int) -> MatchFormat? { |
|
|
|
switch self { |
|
|
|
switch self { |
|
|
|
case .p25, .unlisted: |
|
|
|
case .p25, .unlisted, .championship: |
|
|
|
return nil |
|
|
|
return nil |
|
|
|
case .p100, .p250, .p500: |
|
|
|
case .p100, .p250, .p500: |
|
|
|
return .nineGamesDecisivePoint |
|
|
|
return .nineGamesDecisivePoint |
|
|
|
|