|
|
|
|
@ -21,28 +21,6 @@ final public class Round: BaseRound, SideStorable { |
|
|
|
|
@ObservationIgnored |
|
|
|
|
private var _cachedLoserRoundsAndChildren: [Round]? |
|
|
|
|
|
|
|
|
|
public init(tournament: String, index: Int, parent: String? = nil, matchFormat: MatchFormat? = nil, startDate: Date? = nil, groupStageLoserBracket: Bool = false, loserBracketMode: LoserBracketMode = .automatic) { |
|
|
|
|
|
|
|
|
|
super.init(tournament: tournament, index: index, parent: parent, format: matchFormat, startDate: startDate, groupStageLoserBracket: groupStageLoserBracket, loserBracketMode: loserBracketMode) |
|
|
|
|
|
|
|
|
|
// self.lastUpdate = Date() |
|
|
|
|
// self.tournament = tournament |
|
|
|
|
// self.index = index |
|
|
|
|
// self.parent = parent |
|
|
|
|
// self.format = matchFormat |
|
|
|
|
// self.startDate = startDate |
|
|
|
|
// self.groupStageLoserBracket = groupStageLoserBracket |
|
|
|
|
// self.loserBracketMode = loserBracketMode |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
required init(from decoder: any Decoder) throws { |
|
|
|
|
try super.init(from: decoder) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
required public init() { |
|
|
|
|
super.init() |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// MARK: - DidSet |
|
|
|
|
|
|
|
|
|
public override func didSetStartDate() { |
|
|
|
|
@ -265,7 +243,7 @@ defer { |
|
|
|
|
} |
|
|
|
|
#endif |
|
|
|
|
let parentRound = parentRound |
|
|
|
|
if let parentRound, parentRound.parent == nil, groupStageLoserBracket == false, parentRound.loserBracketMode != .automatic { |
|
|
|
|
if let parentRound, parentRound.parent == nil, isGroupStageLoserBracket() == false, parentRound.loserBracketMode != .automatic { |
|
|
|
|
return nil |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@ -286,7 +264,7 @@ defer { |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
let parentRound = parentRound |
|
|
|
|
if let parentRound, parentRound.parent == nil, groupStageLoserBracket == false, parentRound.loserBracketMode != .automatic { |
|
|
|
|
if let parentRound, parentRound.parent == nil, isGroupStageLoserBracket() == false, parentRound.loserBracketMode != .automatic { |
|
|
|
|
return nil |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@ -647,7 +625,7 @@ defer { |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public func roundTitle(_ displayStyle: DisplayStyle = .wide, initialMode: Bool = false) -> String { |
|
|
|
|
if groupStageLoserBracket { |
|
|
|
|
if isGroupStageLoserBracket() { |
|
|
|
|
return "Classement Poules" |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@ -752,11 +730,11 @@ defer { |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public func isUpperBracket() -> Bool { |
|
|
|
|
return parent == nil && groupStageLoserBracket == false |
|
|
|
|
return parent == nil && isGroupStageLoserBracket() == false |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public func isLoserBracket() -> Bool { |
|
|
|
|
return parent != nil || groupStageLoserBracket |
|
|
|
|
return parent != nil || isGroupStageLoserBracket() |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public func deleteLoserBracket() { |
|
|
|
|
@ -793,7 +771,7 @@ defer { |
|
|
|
|
var titles = [String: String]() |
|
|
|
|
|
|
|
|
|
let rounds = (0..<roundCount).map { //index 0 is the final |
|
|
|
|
let round = Round(tournament: tournament, index: $0, matchFormat: loserBracketMatchFormat) |
|
|
|
|
let round = Round(tournament: tournament, index: $0, format: loserBracketMatchFormat) |
|
|
|
|
round.parent = id //parent |
|
|
|
|
//titles[round.id] = round.roundTitle(initialMode: true) |
|
|
|
|
return round |
|
|
|
|
@ -911,6 +889,10 @@ defer { |
|
|
|
|
plannedStartDate ?? startDate ?? playedMatches().first?.initialStartDate() |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public func isGroupStageLoserBracket() -> Bool { |
|
|
|
|
groupStageLoserBracket == true |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public override func deleteDependencies(store: Store, shouldBeSynchronized: Bool) { |
|
|
|
|
|
|
|
|
|
store.deleteDependencies(type: Match.self, shouldBeSynchronized: shouldBeSynchronized) { $0.round == self.id } |
|
|
|
|
|