00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef __UNIVERSE_INCLUDED
00019 #define __UNIVERSE_INCLUDED
00020
00021 #include <map>
00022 #include <string>
00023
00024 #include "common/defs.h"
00025 #include "gamelogic/item.h"
00026 #include "common/link.h"
00027 #include "common/plist.h"
00028
00029 class TDataPackageList;
00030 class TGalaxy;
00031 class TObjectID;
00032 class TStellarObject;
00033 class TStellarObjectList;
00034
00035
00036
00037
00038
00039
00040
00055 class TUniverse : public TLinkable
00056 {
00057 public:
00062 virtual ~TUniverse();
00063
00072 bool addGalaxy( TGalaxy* galaxy );
00081 bool addItem( TItem* item );
00085 const list<TGalaxy*>& getGalaxies() const;
00089 const list<TItem*>& getItems() const;
00093 static TUniverse* instance();
00099 virtual void reset();
00100
00101 protected:
00107 TUniverse();
00108
00109 private:
00111 static TUniverse* fInstance;
00112
00114 list<TGalaxy*> fGalaxies;
00116 list<TItem*> fItemList;
00117 };
00118
00119
00120
00121
00122
00123 #endif // __UNIVERSE_INCLUDED