internal void UpdateXpOnEndGame()
    {
        var   place      = _Game.place;
        var   firstPlace = place == 1;
        float x          = 5;
        var   difFactor  = (normal ? 2 : hard ? 3 : 1);

        if (_Game.listOfPlayers.Count > 3)
        {
            x += (place == 1 ? 15 : place == 2 ? 10 : place == 3 ? 5 : 2) * difFactor;
        }
        else
        {
            x += 10;
        }
        x += Mathf.Min(50, _Player.coins);
        if (!online)
        {
            if (hard && firstPlace && _Game.listOfPlayers.Count > 1 && _Loader.PlayersCount > 1)
            {
                HardCore.Add();
            }
            if (_Loader.difficulty >= Difficulty.Normal && firstPlace && _Game.listOfPlayers.Count > 1 && _Loader.PlayersCount > 1)
            {
                if (_Game.rewindsUsed == 0)
                {
                    NoFlashbacks.Add();
                    x *= 1.5f;
                }
                if (_Loader.bombCar)
                {
                    NoCollisions.Add();
                    x += 5 * difFactor;
                }
                if (_Game.isCustomLevel)
                {
                    CustomLevel.Add();
                }
            }
        }
        if (_Game.topDownTime > _Game.timeElapsedLevel / 2)
        {
            x += 30;
            _Awards.topDown.Add();
        }

        xp.Add((int)x);
        //ShowWindow(WonAwardsWindow);
    }