Ejemplo n.º 1
0
 public void SetData(BoatRanking ranking, Player player)
 {
     _nameText.text        = player.Name;
     _racesSailedText.text = "" + ranking.RacesSailed;
     _racesWonText.text    = "" + ranking.RacesWon;
     _pointsText.text      = MainGameController.instance.localizationManager.GetLocalizedValue("points_text") + ": \n" + ranking.Points;
 }
Ejemplo n.º 2
0
    public void AwardPoints()
    {
        if (_finishOrder.Count != _opponentCurrentBuoys.Count)
        {
            for (int i = _finishOrder.Count; i < _opponentCurrentBuoys.Count; i++)
            {
                _finishOrder.Add(_opponenents[(int)_opponentCurrentBuoys[i].z]);
            }
        }

        for (int i = 0; i < _finishOrder.Count; i++)
        {
            float points = i + 1;
            if (i == 0)
            {
                points = 0.9f;
            }
            if (_finishOrder[i].GetType() == typeof(OpponentRaceAi))
            {
                OpponentRaceAi ora = (OpponentRaceAi)_finishOrder[i];
                BoatRanking    br  = MainGameController.instance.databaseController.connection.Table <BoatRanking>().Where(x => x.PersonId == ora.person.id && x.BoatId == ora.person.BoatId).FirstOrDefault();
                if (br == null)
                {
                    br          = new BoatRanking();
                    br.id       = MainGameController.instance.databaseController.connection.Table <BoatRanking>().Count() + 1;
                    br.BoatId   = ora.person.BoatId;
                    br.PersonId = ora.person.id;
                    br.New();
                }
                br.RacesSailed++;
                ora.person.RacesSailed++;
                if (points == 0.9f)
                {
                    br.RacesWon++;
                    ora.person.RacesWon++;
                }
                br.Points += points;
                ora.person.LifetimePoints += points;
                br.Save();
                ora.person.Save();
            }
            else
            {
                MainGameController.instance.achievementManager.AddAchievementProperty(AchievementProperties.Races, 1);
                Player      player = MainGameController.instance.player;
                Person      person = MainGameController.instance.databaseController.connection.Table <Person>().Where(x => x.Name.Equals(player.Name)).First();
                Boat        b      = player.GetActiveBoat();
                BoatRanking br     = MainGameController.instance.databaseController.connection.Table <BoatRanking>().Where(x => x.PersonId == player.id && x.BoatId == b.id).FirstOrDefault();
                if (br == null)
                {
                    br    = new BoatRanking();
                    br.id = MainGameController.instance.databaseController.connection.Table <BoatRanking>().Count() + 1;
                    Debug.Log(br.id);
                    br.PersonId = player.id;
                    br.BoatId   = player.GetActiveBoat().id;
                    br.New();
                }
                br.RacesSailed++;

                person.RacesSailed++;
                if (points == 0.9f)
                {
                    MainGameController.instance.achievementManager.AddAchievementProperty(AchievementProperties.RacesWon, 1);
                    RequestManager.UpdateRequest(MainGameController.instance.player.GetActiveBoat(), _currentRace);
                    person.RacesWon++;
                    br.RacesWon++;
                }
                player.AddExperience(ExperienceController.ExperiencePerRacePlace * ((_opponenents.Count - i + 2)));
                br.Points             += points;
                person.LifetimePoints += points;
                br.Save();
                person.Save();
            }
        }

        _pointsAwarded = true;
    }