Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Feb 11, 2018, 4:49:56 PM (7 years ago)
Author:
landauf
Message:

fixed crash when setting highscore

Location:
code/branches/Presentation_HS17_merge/src/modules/dodgerace
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • code/branches/Presentation_HS17_merge/src/modules/dodgerace/DodgeRace.cc

    r11716 r11729  
    3737#include "core/CoreIncludes.h"
    3838#include "Highscore.h"
     39#include "infos/PlayerInfo.h"
    3940
    4041namespace orxonox
     
    9091    void DodgeRace::tick(float dt)
    9192    {
    92         if (getPlayer() != nullptr)
    93         {
    94             currentPosition = getPlayer()->getWorldPosition().x;
     93        DodgeRaceShip* player = this->getPlayer();
     94        if (player != nullptr)
     95        {
     96            currentPosition = player->getWorldPosition().x;
    9597            counter = counter + (currentPosition - lastPosition);
    9698            lastPosition = currentPosition;
    9799            point = (int) currentPosition;
    98             getPlayer()->speed = 830.0f - (point / 1000);
     100            player->speed = 830.0f - (point / 1000);
    99101
    100102            for(unsigned int i=0; i < cubeList.size();i++)
     
    123125                    }
    124126
    125                     cube->setPosition(getPlayer()->getWorldPosition() + Vector3(5000.0f, 0.0f, -3600.0f + (i*1200)));
     127                    cube->setPosition(player->getWorldPosition() + Vector3(5000.0f, 0.0f, -3600.0f + (i*1200)));
    126128                    //stEntity->setScale3D(50,50,50);
    127129                }
     
    139141    DodgeRaceShip* DodgeRace::getPlayer()
    140142    {
    141         if (player == nullptr)
    142         {
    143             for (DodgeRaceShip* ship : ObjectList<DodgeRaceShip>())
    144             {
    145                 player = ship;
    146             }
    147         }
    148         return player;
     143        for (DodgeRaceShip* ship : ObjectList<DodgeRaceShip>())
     144        {
     145            return ship;
     146        }
     147        return nullptr;
    149148    }
    150149
     
    190189    void DodgeRace::playerPreSpawn(PlayerInfo* player)
    191190    {
     191        this->playerInfo_ = player;
    192192        if(lives <= 0)
    193193        {
     
    228228        {
    229229            int score = this->getPoints();
    230             Highscore::getInstance().storeScore("Dodge Race", score, this->getPlayer()->getPlayer());
     230            Highscore::getInstance().storeScore("Dodge Race", score, this->playerInfo_);
    231231        }
    232232        GSLevel::startMainMenu();
  • code/branches/Presentation_HS17_merge/src/modules/dodgerace/DodgeRace.h

    r11071 r11729  
    103103
    104104            DodgeRaceShip* getPlayer();
    105             WeakPtr<DodgeRaceShip> player;
     105            WeakPtr<PlayerInfo> playerInfo_;
    106106            std::vector<DodgeRaceCube*> cubeList;
    107107            void toggleShowLevel(){bShowLevel = !bShowLevel;}
Note: See TracChangeset for help on using the changeset viewer.