Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Changeset 7020 in orxonox.OLD for trunk


Ignore:
Timestamp:
Feb 3, 2006, 4:34:44 PM (19 years ago)
Author:
patrick
Message:

trunk: added the game rules

Location:
trunk/src
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/defs/debug.h

    r6868 r7020  
    9191
    9292  #define DEBUG_MODULE_STORY_ENTITY          2
     93  #define DEBUG_MODULE_GAME_RULES            2
    9394
    9495  #define DEBUG_MODULE_WEAPON                2
  • trunk/src/story_entities/game_world_data.cc

    r6988 r7020  
    5757#include "animation_player.h"
    5858#include "animation3d.h"
     59
     60#include "game_rules.h"
    5961
    6062#include "ogg_player.h"
     
    302304  LoadParam(root, "Music", this, GameWorldData, setSoundTrack);
    303305
    304   //  LoadParamXML(root, "ParticleEngine", ParticleEngine::getInstance(), ParticleEngine, loadParams);
     306
     307  LoadParamXML(root, "GameRule", this, GameWorldData, loadGameRule);
     308
     309
     310  //LoadParamXML(root, "ParticleEngine", ParticleEngine::getInstance(), ParticleEngine, loadParams);
    305311  //LoadParamXML(root, "PhysicsEngine", PhysicsEngine::getInstance(), PhysicsEngine, loadParams);
    306312
     
    310316  SoundEngine::getInstance()->setListener(this->localCamera);
    311317}
     318
    312319
    313320
     
    353360
    354361
     362void GameWorldData::loadGameRule(const TiXmlElement* root)
     363{
     364
     365  const TiXmlElement* element = root->FirstChildElement("GameRule");
     366
     367  if( element == NULL)
     368  {
     369    PRINTF(1)("GameWorld is missing 'GameRule'\n");
     370  }
     371  else
     372  {
     373    element = element->FirstChildElement();
     374
     375    while( element != NULL)
     376    {
     377      BaseObject* created = Factory::fabricate(element);
     378      if (created == NULL /*|| !created->isA(CL_GAME_RULE)*/)
     379        delete created;
     380      else
     381      {
     382        this->gameRule = dynamic_cast<GameRules*>(created);
     383        element = element->NextSiblingElement();
     384      }
     385    }
     386  }
     387
     388
     389
     390}
     391
     392
     393
  • trunk/src/story_entities/game_world_data.h

    r6827 r7020  
    2222class TiXmlElement;
    2323class OggPlayer;
     24class GameRules;
    2425
    2526
     
    4243    /* interface functions */
    4344    void setSoundTrack(const char* name);
     45    void loadGameRule(const TiXmlElement* root);
    4446
    4547  protected:
     
    6264    OggPlayer*          music;                       //!< Reference to the SoundEngine's music player (OggPlayer)
    6365    ObjectManager*      objectManager;               //!< Reference to the objects manager
     66
     67    GameRules*          gameRule;                   //!< Reference to the game rules of this game
    6468};
    6569
  • trunk/src/util/Makefile.am

    r6437 r7020  
    99                        state.cc \
    1010                        hud.cc \
     11                        game_rules.cc \
    1112                        animation/animation3d.cc \
    1213                        animation/animation.cc \
     
    2425                        state.h \
    2526                        hud.h \
     27                        game_rules.h \
    2628                        animation/animation3d.h \
    2729                        animation/animation.h \
  • trunk/src/util/game_rules.cc

    r7017 r7020  
    1313*/
    1414
    15 #define DEBUG_MODULE_STORY_ENTITY
     15#define DEBUG_MODULE_GAME_RULES
    1616
    1717#include "game_rules.h"
     18
     19#include "load_param.h"
    1820
    1921
     
    2123
    2224
    23 GameRules::GameRules()
     25/**
     26 * constructor
     27 */
     28GameRules::GameRules(const TiXmlElement root)
     29{}
     30
     31/**
     32 * decontsructor
     33 */
     34GameRules::~GameRules()
    2435{}
    2536
    2637
    27 GameRules::~GameRules()
     38
     39void GameRules::loadParams(const TiXmlElement* root)
    2840{}
     41
  • trunk/src/util/game_rules.h

    r7017 r7020  
    1111
    1212
     13class TiXmlElement;
     14class ObjectManager;
    1315
    1416
     
    1719
    1820  public:
    19     GameRules();
     21    GameRules(const TiXmlElement root);
    2022    virtual ~GameRules();
    2123
     24    virtual void loadParams(const TiXmlElement* root);
     25
     26
     27    virtual void tick(float dt) = 0;
     28
     29
    2230  private:
     31    ObjectManager*         pObjectManager;         //!< reference to the current Object Manager
     32};
    2333
    24 };
     34
     35#endif /* _GAME_RULES_H */
Note: See TracChangeset for help on using the changeset viewer.