Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Nov 7, 2016, 3:55:36 PM (8 years ago)
Author:
kappenh
Message:

erste einbindung des Highscores in der levelinfo

Location:
code/branches/Highscore_HS16/src/orxonox
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • code/branches/Highscore_HS16/src/orxonox/LevelInfo.cc

    r11099 r11267  
    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/branches/Highscore_HS16/src/orxonox/LevelInfo.h

    r11099 r11267  
    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.