Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Changeset 2010


Ignore:
Timestamp:
Oct 25, 2008, 5:13:35 PM (16 years ago)
Author:
landauf
Message:

renamed Level to XMLFile

Location:
code/branches/objecthierarchy/src
Files:
12 edited
1 moved

Legend:

Unmodified
Added
Removed
  • code/branches/objecthierarchy/src/core/BaseObject.cc

    r1993 r2010  
    3636#include "CoreIncludes.h"
    3737#include "XMLPort.h"
    38 #include "Level.h"
     38#include "XMLFile.h"
    3939#include "Template.h"
    4040#include "util/String.h"
     
    5656        this->bVisible_ = true;
    5757
    58         this->level_ = 0;
     58        this->file_ = 0;
    5959        this->namespace_ = 0;
    6060    }
     
    8686        @return The levelfile
    8787    */
    88     const std::string& BaseObject::getLevelfile() const
     88    const std::string& BaseObject::getFilename() const
    8989    {
    90         if (this->level_)
    91             return this->level_->getFile();
     90        if (this->file_)
     91            return this->file_->getFilename();
    9292        else
    9393            return blankString;
  • code/branches/objecthierarchy/src/core/BaseObject.h

    r1989 r2010  
    8181            virtual void changedVisibility() {}
    8282
    83             /** @brief Sets a pointer to the level that loaded this object. @param level The pointer to the level */
    84             inline void setLevel(const Level* level) { this->level_ = level; }
    85             /** @brief Returns a pointer to the level that loaded this object. @return The level */
    86             inline const Level* getLevel() const { return this->level_; }
    87             const std::string& getLevelfile() const;
     83            /** @brief Sets a pointer to the xml file that loaded this object. @param file The pointer to the XMLFile */
     84            inline void setFile(const XMLFile* file) { this->file_ = file; }
     85            /** @brief Returns a pointer to the XMLFile that loaded this object. @return The XMLFile */
     86            inline const XMLFile* getFile() const { return this->file_; }
     87            const std::string& getFilename() const;
    8888
    8989            void addTemplate(const std::string& name);
     
    111111
    112112            bool bInitialized_;                         //!< True if the object was initialized (passed the object registration)
    113             const Level* level_;                        //!< The level that loaded this object
     113            const XMLFile* file_;                       //!< The XMLFile that loaded this object
    114114            std::string loaderIndentation_;             //!< Indentation of the debug output in the Loader
    115115            Namespace* namespace_;
  • code/branches/objecthierarchy/src/core/CorePrereqs.h

    r2003 r2010  
    129129  class Language;
    130130  class LanguageEntry;
    131   class Level;
    132131  class Loader;
    133132  class MetaObjectList;
     
    153152  class Template;
    154153  class Tickable;
     154  class XMLFile;
    155155  template <class T, class O>
    156156  class XMLPortClassObjectContainer;
  • code/branches/objecthierarchy/src/core/Loader.cc

    r1959 r2010  
    2828
    2929#include "Loader.h"
    30 #include "Level.h"
     30#include "XMLFile.h"
    3131#include "BaseObject.h"
    3232#include "Identifier.h"
     
    4242namespace orxonox
    4343{
    44     std::vector<std::pair<const Level*, ClassTreeMask> > Loader::levels_s;
     44    std::vector<std::pair<const XMLFile*, ClassTreeMask> > Loader::files_s;
    4545    ClassTreeMask Loader::currentMask_s;
    4646
    47     bool Loader::open(const Level* level, const ClassTreeMask& mask)
     47    bool Loader::open(const XMLFile* file, const ClassTreeMask& mask)
    4848    {
    49         Loader::add(level, mask);
    50         return Loader::load(level, mask);
     49        Loader::add(file, mask);
     50        return Loader::load(file, mask);
    5151    }
    5252
     
    5454    {
    5555        Loader::unload();
    56         Loader::levels_s.clear();
     56        Loader::files_s.clear();
    5757    }
    5858
    59     void Loader::close(const Level* level)
     59    void Loader::close(const XMLFile* file)
    6060    {
    61         Loader::unload(level);
    62         Loader::remove(level);
     61        Loader::unload(file);
     62        Loader::remove(file);
    6363    }
    6464
    65     void Loader::add(const Level* level, const ClassTreeMask& mask)
     65    void Loader::add(const XMLFile* file, const ClassTreeMask& mask)
    6666    {
    67         if (!level)
     67        if (!file)
    6868            return;
    69         Loader::levels_s.insert(Loader::levels_s.end(), std::pair<const Level*, ClassTreeMask>(level, mask));
     69        Loader::files_s.insert(Loader::files_s.end(), std::pair<const XMLFile*, ClassTreeMask>(file, mask));
    7070    }
    7171
    72     void Loader::remove(const Level* level)
     72    void Loader::remove(const XMLFile* file)
    7373    {
    74         if (!level)
     74        if (!file)
    7575            return;
    76         for (std::vector<std::pair<const Level*, ClassTreeMask> >::iterator it = Loader::levels_s.begin(); it != Loader::levels_s.end(); ++it)
     76        for (std::vector<std::pair<const XMLFile*, ClassTreeMask> >::iterator it = Loader::files_s.begin(); it != Loader::files_s.end(); ++it)
    7777        {
    78             if ((*it).first == level)
     78            if ((*it).first == file)
    7979            {
    80                 Loader::levels_s.erase(it);
     80                Loader::files_s.erase(it);
    8181                break;
    8282            }
     
    8787    {
    8888        bool success = true;
    89         for (std::vector<std::pair<const Level*, ClassTreeMask> >::iterator it = Loader::levels_s.begin(); it != Loader::levels_s.end(); ++it)
     89        for (std::vector<std::pair<const XMLFile*, ClassTreeMask> >::iterator it = Loader::files_s.begin(); it != Loader::files_s.end(); ++it)
    9090            if (!Loader::load((*it).first, (*it).second * mask))
    9191                success = false;
     
    111111    }
    112112
    113     bool Loader::load(const Level* level, const ClassTreeMask& mask)
     113    bool Loader::load(const XMLFile* file, const ClassTreeMask& mask)
    114114    {
    115         if (!level)
     115        if (!file)
    116116            return false;
    117117
    118         Loader::currentMask_s = level->getMask() * mask;
     118        Loader::currentMask_s = file->getMask() * mask;
    119119
    120120        // let Lua work this out:
    121121        LuaBind* lua = LuaBind::getInstance();
    122122        lua->clearLuaOutput();
    123         lua->loadFile(level->getFile(), true);
     123        lua->loadFile(file->getFilename(), true);
    124124        lua->run();
    125125
    126126        try
    127127        {
    128             COUT(0) << "Start loading " << level->getFile() << "..." << std::endl;
     128            COUT(0) << "Start loading " << file->getFilename() << "..." << std::endl;
    129129            COUT(3) << "Mask: " << Loader::currentMask_s << std::endl;
    130130
    131             //ticpp::Document xmlfile(level->getFile());
     131            //ticpp::Document xmlfile(file->getFilename());
    132132            //xmlfile.LoadFile();
    133133            //ticpp::Element myelement(*Script::getFileString());
     
    146146            Namespace* rootNamespace = new Namespace();
    147147            rootNamespace->setLoaderIndentation("    ");
    148             rootNamespace->setLevel(level);
     148            rootNamespace->setFile(file);
    149149            rootNamespace->setNamespace(rootNamespace);
    150150            rootNamespace->setRoot(true);
    151151            rootNamespace->XMLPort(rootElement, XMLPort::LoadObject);
    152152
    153             COUT(0) << "Finished loading " << level->getFile() << "." << std::endl;
     153            COUT(0) << "Finished loading " << file->getFilename() << "." << std::endl;
    154154
    155155            COUT(4) << "Namespace-tree:" << std::endl << rootNamespace->toString("  ") << std::endl;
     
    160160        {
    161161            COUT(1) << std::endl;
    162             COUT(1) << "An error occurred in Loader.cc while loading " << level->getFile() << ":" << std::endl;
     162            COUT(1) << "An error occurred in Loader.cc while loading " << file->getFilename() << ":" << std::endl;
    163163            COUT(1) << ex.what() << std::endl;
    164164            COUT(1) << "Loading aborted." << std::endl;
     
    167167    }
    168168
    169     void Loader::unload(const Level* level, const ClassTreeMask& mask)
     169    void Loader::unload(const XMLFile* file, const ClassTreeMask& mask)
    170170    {
    171         if (!level)
     171        if (!file)
    172172            return;
    173173        for (ObjectList<BaseObject>::iterator it = ObjectList<BaseObject>::begin(); it; )
    174174        {
    175             if ((it->getLevel() == level) && mask.isIncluded(it->getIdentifier()))
     175            if ((it->getFile() == file) && mask.isIncluded(it->getIdentifier()))
    176176                delete (*(it++));
    177177            else
     
    180180    }
    181181
    182     bool Loader::reload(const Level* level, const ClassTreeMask& mask)
     182    bool Loader::reload(const XMLFile* file, const ClassTreeMask& mask)
    183183    {
    184         Loader::unload(level, mask);
    185         return Loader::load(level, mask);
     184        Loader::unload(file, mask);
     185        return Loader::load(file, mask);
    186186    }
    187187}
  • code/branches/objecthierarchy/src/core/Loader.h

    r1505 r2010  
    3535
    3636#include "ClassTreeMask.h"
    37 #include "Level.h"
    3837
    3938namespace orxonox
     
    4241    {
    4342        public:
    44             static bool open(const Level* level, const ClassTreeMask& mask = ClassTreeMask());
     43            static bool open(const XMLFile* file, const ClassTreeMask& mask = ClassTreeMask());
    4544            static void close();
    46             static void close(const Level* level);
     45            static void close(const XMLFile* file);
    4746
    48             static void add(const Level* level, const ClassTreeMask& mask = ClassTreeMask());
    49             static void remove(const Level* level);
     47            static void add(const XMLFile* file, const ClassTreeMask& mask = ClassTreeMask());
     48            static void remove(const XMLFile* file);
    5049
    5150            static bool load(const ClassTreeMask& mask = ClassTreeMask());
     
    5352            static bool reload(const ClassTreeMask& mask = ClassTreeMask());
    5453
    55             static bool load(const Level* level, const ClassTreeMask& mask = ClassTreeMask());
    56             static void unload(const Level* level, const ClassTreeMask& mask = ClassTreeMask());
    57             static bool reload(const Level* level, const ClassTreeMask& mask = ClassTreeMask());
     54            static bool load(const XMLFile* file, const ClassTreeMask& mask = ClassTreeMask());
     55            static void unload(const XMLFile* file, const ClassTreeMask& mask = ClassTreeMask());
     56            static bool reload(const XMLFile* file, const ClassTreeMask& mask = ClassTreeMask());
    5857
    5958            static ClassTreeMask currentMask_s;
    6059
    6160        private:
    62             static std::vector<std::pair<const Level*, ClassTreeMask> > levels_s;
     61            static std::vector<std::pair<const XMLFile*, ClassTreeMask> > files_s;
    6362    };
    6463}
  • code/branches/objecthierarchy/src/core/XMLFile.h

    r2009 r2010  
    2727 */
    2828
    29 #ifndef _Level_H__
    30 #define _Level_H__
     29#ifndef _XMLFile_H__
     30#define _XMLFile_H__
    3131
    3232#include "CorePrereqs.h"
     
    3838namespace orxonox
    3939{
    40     class _CoreExport Level
     40    class _CoreExport XMLFile
    4141    {
    4242        public:
    43             Level(const std::string& file) : file_(file) {}
    44             Level(const std::string& file, const ClassTreeMask& mask) : file_(file), mask_(mask) {};
     43            XMLFile(const std::string& filename) : filename_(filename) {}
     44            XMLFile(const std::string& filename, const ClassTreeMask& mask) : filename_(filename), mask_(mask) {};
    4545
    46             const std::string& getFile() const { return this->file_; }
     46            const std::string& getFilename() const { return this->filename_; }
    4747            const ClassTreeMask& getMask() const { return this->mask_; }
    4848
    4949        private:
    50             std::string file_;
     50            std::string filename_;
    5151            ClassTreeMask mask_;
    5252    };
    5353}
    5454
    55 #endif /* _Level_H__ */
     55#endif /* _XMLFile_H__ */
  • code/branches/objecthierarchy/src/core/XMLPort.h

    r1989 r2010  
    336336                    {
    337337                        COUT(1) << std::endl;
    338                         COUT(1) << "An error occurred in XMLPort.h while loading attribute '" << this->paramname_ << "' of '" << this->identifier_->getName() << "' (objectname: " << this->owner_->getName() << ") in " << this->owner_->getLevelfile() << ":" << std::endl;
     338                        COUT(1) << "An error occurred in XMLPort.h while loading attribute '" << this->paramname_ << "' of '" << this->identifier_->getName() << "' (objectname: " << this->owner_->getName() << ") in " << this->owner_->getFilename() << ":" << std::endl;
    339339                        COUT(1) << ex.what() << std::endl;
    340340                    }
     
    481481                                                BaseObject* newObject = identifier->fabricate();
    482482                                                newObject->setLoaderIndentation(((BaseObject*)object)->getLoaderIndentation() + "  ");
    483                                                 newObject->setLevel(((BaseObject*)object)->getLevel());
     483                                                newObject->setFile(((BaseObject*)object)->getFile());
    484484                                                newObject->setNamespace(((BaseObject*)object)->getNamespace());
    485485
     
    523523                    {
    524524                        COUT(1) << std::endl;
    525                         COUT(1) << "An error occurred in XMLPort.h while loading a '" << Class(O)->getName() << "' in '" << this->sectionname_ << "' of '" << this->identifier_->getName() << "' (objectname: " << ((BaseObject*)object)->getName() << ") in " << object->getLevelfile() << ":" << std::endl;
     525                        COUT(1) << "An error occurred in XMLPort.h while loading a '" << Class(O)->getName() << "' in '" << this->sectionname_ << "' of '" << this->identifier_->getName() << "' (objectname: " << ((BaseObject*)object)->getName() << ") in " << object->getFilename() << ":" << std::endl;
    526526                        COUT(1) << ex.what() << std::endl;
    527527                    }
  • code/branches/objecthierarchy/src/orxonox/gamestates/GSDedicated.cc

    r2003 r2010  
    3535#include "core/CommandLine.h"
    3636#include "core/Loader.h"
     37#include "core/XMLFile.h"
    3738#include "core/Core.h"
    3839#include "network/Server.h"
     
    4849        , server_(0)
    4950        , sceneManager_(0)
    50         , startLevel_(0)
     51        , startFile_(0)
    5152    {
    5253    }
     
    7475        // call the loader
    7576        COUT(0) << "Loading level..." << std::endl;
    76         startLevel_ = new Level(Settings::getDataPath() + "levels/sample.oxw");
    77         Loader::open(startLevel_);
     77        startFile_ = new XMLFile(Settings::getDataPath() + "levels/sample.oxw");
     78        Loader::open(startFile_);
    7879
    7980        server_->open();
     
    8990        // TODO: Remove and destroy console command
    9091
    91         Loader::unload(startLevel_);
    92         delete this->startLevel_;
     92        Loader::unload(startFile_);
     93        delete this->startFile_;
    9394
    9495        this->server_->close();
  • code/branches/objecthierarchy/src/orxonox/gamestates/GSDedicated.h

    r1755 r2010  
    5656        network::Server*      server_;
    5757        Ogre::SceneManager*   sceneManager_;
    58         Level*                startLevel_;       //!< current hard coded default level
     58        XMLFile*              startFile_;        //!< current hard coded default level
    5959    };
    6060}
  • code/branches/objecthierarchy/src/orxonox/gamestates/GSLevel.cc

    r2006 r2010  
    3636#include "core/input/KeyBinder.h"
    3737#include "core/Loader.h"
     38#include "core/XMLFile.h"
    3839#include "core/CommandExecutor.h"
    3940#include "core/ConsoleCommand.h"
     
    5657        , inputState_(0)
    5758        , radar_(0)
    58         , startLevel_(0)
     59        , startFile_(0)
    5960    {
    6061        RegisterObject(GSLevel);
     
    154155        // call the loader
    155156        COUT(0) << "Loading level..." << std::endl;
    156         startLevel_ = new Level(Settings::getDataPath() + "levels/sample2.oxw");
    157         Loader::open(startLevel_);
     157        startFile_ = new XMLFile(Settings::getDataPath() + "levels/sample2.oxw");
     158        Loader::open(startFile_);
    158159    }
    159160
    160161    void GSLevel::unloadLevel()
    161162    {
    162         Loader::unload(startLevel_);
    163         delete this->startLevel_;
     163        Loader::unload(startFile_);
     164        delete this->startFile_;
    164165    }
    165166
  • code/branches/objecthierarchy/src/orxonox/gamestates/GSLevel.h

    r2006 r2010  
    6868        SimpleInputState*     inputState_;
    6969        Radar*                radar_;            //!< represents the Radar (not the HUD part)
    70         Level*                startLevel_;       //!< current hard coded default level
     70        XMLFile*              startFile_;        //!< current hard coded default level
    7171
    7272        // config values
  • code/branches/objecthierarchy/src/orxonox/objects/infos/LevelInfo.cc

    r2006 r2010  
    3838#include "core/ConsoleCommand.h"
    3939#include "core/Loader.h"
     40#include "core/XMLFile.h"
    4041#include "core/Template.h"
    4142
     
    152153        XMLPortParam(LevelInfo, "ambientlight", setAmbientLight, getAmbientLight, xmlelement, mode).defaultValues(ColourValue(0.2, 0.2, 0.2, 1));
    153154
    154         this->levelfile_ = this->getLevelfile();
     155        this->xmlfile_ = this->getFilename();
    155156    }
    156157
    157158    void LevelInfo::registerVariables()
    158159    {
    159         REGISTERSTRING(this->levelfile_,    network::direction::toclient, new network::NetworkCallback<LevelInfo>(this, &LevelInfo::applyLevel));
    160         REGISTERSTRING(this->name_,         network::direction::toclient, new network::NetworkCallback<LevelInfo>(this, &LevelInfo::changedName));
    161         REGISTERSTRING(this->description_,  network::direction::toclient);
    162         REGISTERSTRING(this->skybox_,       network::direction::toclient, new network::NetworkCallback<LevelInfo>(this, &LevelInfo::applySkybox));
    163         REGISTERDATA(this->ambientLight_, network::direction::toclient, new network::NetworkCallback<LevelInfo>(this, &LevelInfo::applyAmbientLight));
    164     }
    165 
    166     void LevelInfo::applyLevel()
    167     {
    168         COUT(0) << "Loading level \"" << this->levelfile_ << "\"..." << std::endl;
     160        REGISTERSTRING(this->xmlfile_,     network::direction::toclient, new network::NetworkCallback<LevelInfo>(this, &LevelInfo::applyXMLFile));
     161        REGISTERSTRING(this->name_,        network::direction::toclient, new network::NetworkCallback<LevelInfo>(this, &LevelInfo::changedName));
     162        REGISTERSTRING(this->description_, network::direction::toclient);
     163        REGISTERSTRING(this->skybox_,      network::direction::toclient, new network::NetworkCallback<LevelInfo>(this, &LevelInfo::applySkybox));
     164        REGISTERDATA(this->ambientLight_,  network::direction::toclient, new network::NetworkCallback<LevelInfo>(this, &LevelInfo::applyAmbientLight));
     165    }
     166
     167    void LevelInfo::applyXMLFile()
     168    {
     169        COUT(0) << "Loading level \"" << this->xmlfile_ << "\"..." << std::endl;
    169170
    170171        ClassTreeMask mask;
     
    172173        mask.include(Class(Template));
    173174
    174         Level* level = new Level(Settings::getDataPath() + this->levelfile_, mask);
    175 
    176         Loader::open(level);
     175        XMLFile* file = new XMLFile(Settings::getDataPath() + this->xmlfile_, mask);
     176
     177        Loader::open(file);
    177178    }
    178179
  • code/branches/objecthierarchy/src/orxonox/objects/infos/LevelInfo.h

    r2006 r2010  
    8080            virtual void clientDisconnected(unsigned int clientID);
    8181
    82             void applyLevel();
     82            void applyXMLFile();
    8383
    8484            void applySkybox()
     
    9494            SubclassIdentifier<Gametype> gametypeIdentifier_;
    9595            Gametype* rootGametype_;
    96             std::string levelfile_;
     96            std::string xmlfile_;
    9797    };
    9898}
Note: See TracChangeset for help on using the changeset viewer.