Exemple #1
0
    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;
            }
        }
    }