public void RegisterContestant(GameObject go) { if (contestant1 == null) { contestant1 = go; if (singleContestant) { HandleWinner(go, false); } } else if (contestant2 == null && go != contestant1) { contestant2 = go; int con1ID = contestant1.GetComponent <QuadID>().id; int con2ID = contestant2.GetComponent <QuadID>().id; GameObject loser; GameObject winner; if (con1ID == ALWAYS_WIN) { winner = contestant1; loser = contestant2; } else if (con2ID == ALWAYS_WIN) { winner = contestant2; loser = contestant1; } else { winner = con1ID > con2ID ? contestant1 : contestant2; loser = winner == contestant1 ? contestant2 : contestant1; } if (fa != null) { fa.HandleFinalDuel(winner, loser, loseCurveX, loseCurveY); } else if (wait == null) { HandleWinner(winner, true); HandleLoser(loser); } else { HandleLoser(loser); this.winner = winner; this.canWin = true; } } }