Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Mar 9, 2017, 3:38:58 PM (8 years ago)
Author:
patricwi
Message:

merged space race with trunk

Location:
code/trunk
Files:
4 edited
2 copied

Legend:

Unmodified
Added
Removed
  • code/trunk

  • code/trunk/src/orxonox/CMakeLists.txt

    r11353 r11356  
    2828  LevelInfo.cc
    2929  LevelManager.cc
     30  Highscore.cc
    3031  Main.cc
    3132  MoodManager.cc
     
    6162    LevelInfo.h
    6263    LevelManager.h
     64    Highscore.h
    6365    MoodManager.h
    6466    controllers/HumanController.h
  • code/trunk/src/orxonox/LevelInfo.cc

    r11099 r11356  
    151151    }
    152152
     153    bool LevelInfoItem::addHighscore(const std::string& name, const int score)
     154    {
     155        std::stringstream stream;
     156        stream << name << "/:/" << score;
     157        bool success = this->highscores_.insert(stream.str()).second;
     158        if(success)
     159            this->highscoresUpdated();
     160        return success;
     161    }
     162
    153163    /**
    154164    @brief
     
    191201    }
    192202
     203    void LevelInfoItem::highscoresUpdated(void)
     204    {
     205        std::stringstream stream;
     206        std::set<std::string>::iterator temp;
     207        for(std::set<std::string>::iterator it = this->highscores_.begin(); it != this->highscores_.end(); )
     208        {
     209            temp = it;
     210            if(++it == this->highscores_.end()) // If this is the last tag we don't add a comma.
     211                stream << *temp;
     212            else
     213                stream << *temp << ", ";
     214        }
     215
     216        this->highscoresString_ = std::string(stream.str());
     217    }
    193218    /**
    194219    @brief
  • code/trunk/src/orxonox/LevelInfo.h

    r11099 r11356  
    118118            inline bool hasTag(const std::string& tag) const { return this->tags_.find(tag) != this->tags_.end(); } // tolua_export
    119119
     120            bool addHighscore(const std::string& name,const int score);
     121
     122            inline const std::string& getHighscores(void) const { return this->highscoresString_; } // tolua_export
     123
    120124            void setStartingShips(const std::string& ships); //!< Set the starting ship models of the level
    121125            bool addStartingShip(const std::string& ship, bool update = true); //!< Add a model to shipselection
     
    154158            void startingshipsUpdated(void); //!< Updates the comma-seperated string of all possible starting ships.
    155159            void tagsUpdated(void); //!< Updates the comma-seperated string of all tags, if the set of tags has changed.
     160            void highscoresUpdated(void);
    156161            static void initializeTags(void); //!< Initialize the set of allowed tags.
    157162            /**
     
    170175            std::string screenshot_; //!< The screenshot of the Level.
    171176            std::set<std::string> tags_; //!< The set of tags the Level is tagged with.
     177
     178            std::set<std::string> highscores_;
     179            std::string highscoresString_;
     180
    172181            std::string tagsString_; //!< The comma-seperated string of all the tags the Level is tagged with.
    173182            std::set<std::string> startingShips_; //!< The set of starting ship models the Level allows.
     
    244253            inline const std::string& getTags(void) const
    245254                { return this->LevelInfoItem::getTags(); }
     255
     256            inline const std::string& getHighscores(void) const
     257                { return this->LevelInfoItem::getHighscores(); }
    246258            /**
    247259            @brief Set the starting ship models of the level
Note: See TracChangeset for help on using the changeset viewer.