00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #pragma once
00021
00022 #include "SavableHeaders.h"
00023 #include "SavableTypes.h"
00024
00025 namespace mud
00026 {
00027 class SectorManager;
00028
00029 class Sector : public Savable
00030 {
00031 public:
00032
00033
00034
00035 const std::string& getName() const;
00036 const std::string& getSymbol() const;
00037 long getMoveCost() const;
00038 bool isWater() const;
00039
00040
00041
00042
00043 void setName(const std::string& name);
00044 void setSymbol(const std::string& symbol);
00045 void setMoveCost(long movecost);
00046 void setWater(bool water);
00047
00048
00049
00050
00051 SavableManagerPtr getManager() const;
00052 TableImplPtr getTable() const;
00053
00054
00055
00056
00057 void Delete();
00058 void Save();
00059 void Discard();
00060 bool Exists();
00061
00062 private:
00063 SavableManagerPtr m_sector;
00064
00065
00066
00067
00068 Sector(SavableManagerPtr Sector);
00069 Sector(const Sector& rhs);
00070 Sector operator=(const Sector& rhs);
00071 ~Sector(void);
00072
00073 friend class SectorManager;
00074 friend SmartPtrDelete(mud::Sector);
00075 };
00076 }