]> jfr.im git - irc/gameservirc.git/commitdiff
Consolidated IArmorDAO, IWeaponDAO, FileArmorDAO, and FileWeaponDAO into IItemDAO...
authorkainazzzo <redacted>
Tue, 15 Sep 2009 17:18:38 +0000 (17:18 +0000)
committerkainazzzo <redacted>
Tue, 15 Sep 2009 17:18:38 +0000 (17:18 +0000)
git-svn-id: https://svn.code.sf.net/p/gameservirc/code/trunk@520 bc333340-6410-0410-a689-9d09f3c113fa

15 files changed:
gameserv-2.0/libgameservgldl/include/GameServ/DataLayer/File/FileArmorDAO.h [deleted file]
gameserv-2.0/libgameservgldl/include/GameServ/DataLayer/File/FileDAOFactory.h
gameserv-2.0/libgameservgldl/include/GameServ/DataLayer/File/FileId.h
gameserv-2.0/libgameservgldl/include/GameServ/DataLayer/File/FileWeaponDAO.h [deleted file]
gameserv-2.0/libgameservgldl/include/GameServ/DataLayer/IArmorDAO.h [deleted file]
gameserv-2.0/libgameservgldl/include/GameServ/DataLayer/IDAOFactory.h
gameserv-2.0/libgameservgldl/include/GameServ/DataLayer/IWeaponDAO.h [deleted file]
gameserv-2.0/libgameservgldl/libgameservgldl.vcproj
gameserv-2.0/libgameservgldl/src/DataLayer/File/FileArmorDAO.cpp [deleted file]
gameserv-2.0/libgameservgldl/src/DataLayer/File/FileDAOFactory.cpp
gameserv-2.0/libgameservgldl/src/DataLayer/File/FileId.cpp
gameserv-2.0/libgameservgldl/src/DataLayer/File/FilePlayerDAO.cpp
gameserv-2.0/libgameservgldl/src/DataLayer/File/FileWeaponDAO.cpp [deleted file]
gameserv-2.0/libgameservgldl/src/DataLayer/IArmorDAO.cpp [deleted file]
gameserv-2.0/libgameservgldl/src/DataLayer/IWeaponDAO.cpp [deleted file]

diff --git a/gameserv-2.0/libgameservgldl/include/GameServ/DataLayer/File/FileArmorDAO.h b/gameserv-2.0/libgameservgldl/include/GameServ/DataLayer/File/FileArmorDAO.h
deleted file mode 100644 (file)
index 382db45..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-#ifndef __GS__FileArmorDAO_H__\r
-#define __GS__FileArmorDAO_H__\r
-\r
-#include <GameServ/GameLayer/GameObjects/ArmorGO.h>\r
-#include <GameServ/DataLayer/IArmorDAO.h>\r
-using GameServ::GameLayer::GameObjects::ArmorGO;\r
-using GameServ::DataLayer::DataAccessObjects::IArmorDAO;\r
-\r
-#include <boost/shared_ptr.hpp>\r
-using boost::shared_ptr;\r
-\r
-#include <string>\r
-using std::string;\r
-\r
-#include <list>\r
-using std::list;\r
-\r
-#include <map>\r
-using std::map;\r
-\r
-namespace GameServ {  namespace DataLayer { namespace File\r
-{\r
-       //! File implementation of IArmorDAO interface\r
-       /*!\r
-               If you're using an File datasource, you will be using this\r
-               DAO to access Armors.\r
-       */\r
-       class FileArmorDAO : public IArmorDAO\r
-       {\r
-       public:\r
-               // Ctors, Dtors ///////////////////////////////////////////////////////\r
-               FileArmorDAO(void);\r
-               FileArmorDAO(const string &filename);\r
-               virtual ~FileArmorDAO();\r
-\r
-               // Methods ////////////////////////////////////////////////////////////\r
-               virtual shared_ptr<ArmorGO> GetById(const string &Id) const;\r
-\r
-               virtual bool IdExists(const string &Id) const;\r
-\r
-               void LoadArmorCache(void);\r
-\r
-       private:\r
-               //! Data file\r
-               string mFilename;\r
-\r
-               // Helper Methods /////////////////////////////////////////////////////\r
-\r
-               //! Creates the ArmorGO found at iterator position\r
-               shared_ptr<ArmorGO> CreateArmorFromLine(const string &line) const;\r
-\r
-               //! Get the Armor database file path\r
-               string GetArmorFilePath(void) const;\r
-\r
-               void Initialize(const string &filename);\r
-\r
-\r
-               map<string, shared_ptr<ArmorGO> > spArmorCache;\r
-       };\r
-} } } // GameServ.DataLayer.DataAccessObjects.File\r
-\r
-#endif // __GS__FileArmorDAO_H__\r
index 7e33acaefa512e5ccacb2ce2f6bbcef10ea8f72a..9bbcd8e31c222365d10a96a15fe9269dd1eecc31 100644 (file)
@@ -7,10 +7,9 @@ using GameServ::DataLayer::IDAOFactory;
 \r
 #include <GameServ/DataLayer/IPlayerDAO.h>\r
 using GameServ::DataLayer::DataAccessObjects::IPlayerDAO;\r
-#include <GameServ/DataLayer/IArmorDAO.h>\r
-using GameServ::DataLayer::DataAccessObjects::IArmorDAO;\r
-#include <GameServ/DataLayer/IWeaponDAO.h>\r
-using GameServ::DataLayer::DataAccessObjects::IWeaponDAO;\r
+#include <GameServ/DataLayer/IItemDAO.h>\r
+using GameServ::DataLayer::DataAccessObjects::IItemDAO;\r
+\r
 \r
 #include <boost/smart_ptr/shared_ptr.hpp>\r
 using boost::shared_ptr;\r
@@ -30,8 +29,7 @@ namespace GameServ { namespace DataLayer { namespace File
                // Overrides //////////////////////////////////////////////////////////\r
                \r
                virtual shared_ptr<IPlayerDAO> GetPlayerDAO(void) const;\r
-               virtual shared_ptr<IArmorDAO> GetArmorDAO(void) const;\r
-               virtual shared_ptr<IWeaponDAO> GetWeaponDAO(void) const;\r
+               virtual shared_ptr<IItemDAO> GetItemDAO(void) const;\r
 \r
        private:\r
 \r
index edc1fc76eaa1165d3a14bfce909470548bcc7cf5..fe93d669b3dd3b6ecfb90dc6f873c5a82122703c 100644 (file)
@@ -14,7 +14,7 @@ namespace GameServ { namespace DataLayer { namespace File {
                static string CreatePlayerId(const string &Name);\r
                static string GetNameFromPlayerId(const string &Id);\r
 \r
-               static string CreateItemId(ItemTypes::ItemType type, const string &Number);\r
+               static string CreateItemId(const string &Number);\r
                static ItemTypes::ItemType GetItemTypeFromId(const string &Id);\r
                static string GetItemNumberFromId(const string &Id);\r
        private:\r
diff --git a/gameserv-2.0/libgameservgldl/include/GameServ/DataLayer/File/FileWeaponDAO.h b/gameserv-2.0/libgameservgldl/include/GameServ/DataLayer/File/FileWeaponDAO.h
deleted file mode 100644 (file)
index a385b0a..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-#ifndef __GS__FILEWEAPONDAO_H__\r
-#define __GS__FILEWEAPONDAO_H__\r
-\r
-#include <GameServ/GameLayer/GameObjects/WeaponGO.h>\r
-#include <GameServ/DataLayer/IWeaponDAO.h>\r
-using GameServ::GameLayer::GameObjects::WeaponGO;\r
-using GameServ::DataLayer::DataAccessObjects::IWeaponDAO;\r
-\r
-#include <boost/shared_ptr.hpp>\r
-using boost::shared_ptr;\r
-\r
-#include <string>\r
-using std::string;\r
-\r
-#include <list>\r
-using std::list;\r
-\r
-#include <map>\r
-using std::map;\r
-\r
-namespace GameServ {  namespace DataLayer { namespace File\r
-{\r
-       //! File implementation of IWeaponDAO interface\r
-       /*!\r
-               If you're using an File datasource, you will be using this\r
-               DAO to access Weapons.\r
-       */\r
-       class FileWeaponDAO : public IWeaponDAO\r
-       {\r
-       public:\r
-               // Ctors, Dtors ///////////////////////////////////////////////////////\r
-               FileWeaponDAO(void);\r
-               FileWeaponDAO(const string &filename);\r
-               virtual ~FileWeaponDAO();\r
-\r
-               // Methods ////////////////////////////////////////////////////////////\r
-               virtual shared_ptr<WeaponGO> GetById(const string &Id) const;\r
-\r
-               virtual bool IdExists(const string &Id) const;\r
-\r
-               void LoadWeaponCache(void);\r
-\r
-       private:\r
-               //! Data file\r
-               string mFilename;\r
-\r
-               // Helper Methods /////////////////////////////////////////////////////\r
-\r
-               //! Creates the WeaponGO found at iterator position\r
-               shared_ptr<WeaponGO> CreateWeaponFromLine(const string &line) const;\r
-\r
-               //! Get the Weapon database file path\r
-               string GetWeaponFilePath(void) const;\r
-\r
-               void Initialize(const string &filename);\r
-\r
-\r
-               map<string, shared_ptr<WeaponGO> > spWeaponCache;\r
-       };\r
-} } } // GameServ.DataLayer.DataAccessObjects.File\r
-\r
-#endif // __GS__FileWeaponDAO_H__\r
diff --git a/gameserv-2.0/libgameservgldl/include/GameServ/DataLayer/IArmorDAO.h b/gameserv-2.0/libgameservgldl/include/GameServ/DataLayer/IArmorDAO.h
deleted file mode 100644 (file)
index fa73cfa..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-#ifndef __GS_IARMORDAO_H__\r
-#define __GS_IARMORDAO_H__\r
-\r
-#include <GameServ/GameLayer/GameObjects/ArmorGO.h>\r
-using GameServ::GameLayer::GameObjects::ArmorGO;\r
-\r
-#include <boost/shared_ptr.hpp>\r
-using boost::shared_ptr;\r
-\r
-#include <list>\r
-using std::list;\r
-#include <string>\r
-using std::string;\r
-\r
-namespace GameServ { namespace DataLayer { namespace DataAccessObjects\r
-{\r
-       //! Interface for Armor Data Access Objects \r
-       /*! \r
-               This is the interface for all Armor DAOs.  Each specific datasource\r
-               will need to inherit this common interface.\r
-       */\r
-       class IArmorDAO\r
-       {\r
-       public:\r
-               // Ctors, Dtors ///////////////////////////////////////////////////////\r
-               IArmorDAO(void);\r
-               virtual ~IArmorDAO(void);       // Needs to be virtual \r
-\r
-               //! Get the Armor using a unique data/object Id\r
-               /*!\r
-                       \param Id Unique identifier\r
-                       \return A boost shared pointer to a Armor game object if found\r
-                       otherwise the list is empty.\r
-               */\r
-               virtual shared_ptr<ArmorGO> GetById(const string &Id) const = 0;\r
-\r
-               //! Function to quickly search to see if an Id exists or not\r
-               /*!\r
-               \param Id The Id of the game object to search for\r
-               \return true if the Id is valid and exists in the data, false otherwise\r
-               */\r
-               virtual bool IdExists(const string &Id) const = 0;\r
-\r
-       private:\r
-               \r
-               \r
-       };\r
-} } }\r
-\r
-#endif
\ No newline at end of file
index 85f66d7ab7857e5bb4dc9692aedc480f5792f6cf..c6465afb8f1d66c9e59e152f84bb0aaf401cf353 100644 (file)
@@ -3,10 +3,9 @@
 \r
 #include <GameServ/DataLayer/IPlayerDAO.h>\r
 using GameServ::DataLayer::DataAccessObjects::IPlayerDAO;\r
-#include <GameServ/DataLayer/IArmorDAO.h>\r
-using GameServ::DataLayer::DataAccessObjects::IArmorDAO;\r
-#include <GameServ/DataLayer/IWeaponDAO.h>\r
-using GameServ::DataLayer::DataAccessObjects::IWeaponDAO;\r
+#include <GameServ/DataLayer/IItemDAO.h>\r
+using GameServ::DataLayer::DataAccessObjects::IItemDAO;\r
+\r
 \r
 #include <boost/smart_ptr/shared_ptr.hpp>\r
 using boost::shared_ptr;\r
@@ -29,11 +28,8 @@ namespace GameServ { namespace DataLayer
                //! Player DataAccessObject for all Player related operations\r
                virtual shared_ptr<IPlayerDAO> GetPlayerDAO(void) const = 0;\r
 \r
-               //! Armor DataAccessObject for all armor related operations\r
-               virtual shared_ptr<IArmorDAO> GetArmorDAO(void) const = 0;\r
-\r
-               //! Weapon DataAccessObject for all weapon related operations\r
-               virtual shared_ptr<IWeaponDAO> GetWeaponDAO(void) const = 0;\r
+               //! Item DataAccessObject for all item related operations\r
+               virtual shared_ptr<IItemDAO> GetItemDAO(void) const = 0;\r
 \r
        private:\r
 \r
diff --git a/gameserv-2.0/libgameservgldl/include/GameServ/DataLayer/IWeaponDAO.h b/gameserv-2.0/libgameservgldl/include/GameServ/DataLayer/IWeaponDAO.h
deleted file mode 100644 (file)
index cda8930..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-#ifndef __GS_IWEAPONDAO_H__\r
-#define __GS_IWEAPONDAO_H__\r
-\r
-#include <GameServ/GameLayer/GameObjects/WeaponGO.h>\r
-using GameServ::GameLayer::GameObjects::WeaponGO;\r
-\r
-#include <boost/shared_ptr.hpp>\r
-using boost::shared_ptr;\r
-\r
-#include <list>\r
-using std::list;\r
-#include <string>\r
-using std::string;\r
-\r
-namespace GameServ { namespace DataLayer { namespace DataAccessObjects\r
-{\r
-       //! Interface for Weapon Data Access Objects \r
-       /*! \r
-               This is the interface for all Weapon DAOs.  Each specific datasource\r
-               will need to inherit this common interface.\r
-       */\r
-       class IWeaponDAO\r
-       {\r
-       public:\r
-               // Ctors, Dtors ///////////////////////////////////////////////////////\r
-               IWeaponDAO(void);\r
-               virtual ~IWeaponDAO(void);      // Needs to be virtual \r
-\r
-               //! Get the Weapon using a unique data/object Id\r
-               /*!\r
-                       \param Id Unique identifier\r
-                       \return A boost shared pointer to a Weapon game object if found\r
-                       otherwise the list is empty.\r
-               */\r
-               virtual shared_ptr<WeaponGO> GetById(const string &Id) const = 0;\r
-\r
-               //! Function to quickly search to see if an Id exists or not\r
-               /*!\r
-               \param Id The Id of the game object to search for\r
-               \return true if the Id is valid and exists in the data, false otherwise\r
-               */\r
-               virtual bool IdExists(const string &Id) const = 0;\r
-\r
-       private:\r
-               \r
-               \r
-       };\r
-} } }\r
-\r
-#endif
\ No newline at end of file
index a9ae0069002027dec2027aeff1400f7a72264258..0e7c60ae6e8d11a3edebbef522cad090382cb52f 100644 (file)
                                >\r
                        </File>\r
                        <File\r
-                               RelativePath=".\src\DataLayer\IArmorDAO.cpp"\r
+                               RelativePath=".\include\GameServ\DataLayer\IDAOFactory.h"\r
                                >\r
                        </File>\r
                        <File\r
-                               RelativePath=".\include\GameServ\DataLayer\IArmorDAO.h"\r
+                               RelativePath=".\src\DataLayer\IItemDAO.cpp"\r
                                >\r
                        </File>\r
                        <File\r
-                               RelativePath=".\include\GameServ\DataLayer\IDAOFactory.h"\r
+                               RelativePath=".\include\GameServ\DataLayer\IItemDAO.h"\r
                                >\r
                        </File>\r
                        <File\r
                                RelativePath=".\include\GameServ\DataLayer\IPlayerDAO.h"\r
                                >\r
                        </File>\r
-                       <File\r
-                               RelativePath=".\src\DataLayer\IWeaponDAO.cpp"\r
-                               >\r
-                       </File>\r
-                       <File\r
-                               RelativePath=".\include\GameServ\DataLayer\IWeaponDAO.h"\r
-                               >\r
-                       </File>\r
                        <Filter\r
                                Name="File"\r
                                >\r
-                               <File\r
-                                       RelativePath=".\src\DataLayer\File\FileArmorDAO.cpp"\r
-                                       >\r
-                               </File>\r
-                               <File\r
-                                       RelativePath=".\include\GameServ\DataLayer\File\FileArmorDAO.h"\r
-                                       >\r
-                               </File>\r
                                <File\r
                                        RelativePath=".\src\DataLayer\File\FileDAOFactory.cpp"\r
                                        >\r
                                        >\r
                                </File>\r
                                <File\r
-                                       RelativePath=".\src\DataLayer\File\FilePlayerDAO.cpp"\r
+                                       RelativePath=".\src\DataLayer\File\FileItemDAO.cpp"\r
                                        >\r
                                </File>\r
                                <File\r
-                                       RelativePath=".\include\GameServ\DataLayer\File\FilePlayerDAO.h"\r
+                                       RelativePath=".\include\GameServ\DataLayer\File\FileItemDAO.h"\r
                                        >\r
                                </File>\r
                                <File\r
-                                       RelativePath=".\src\DataLayer\File\FileWeaponDAO.cpp"\r
+                                       RelativePath=".\src\DataLayer\File\FilePlayerDAO.cpp"\r
                                        >\r
                                </File>\r
                                <File\r
-                                       RelativePath=".\include\GameServ\DataLayer\File\FileWeaponDAO.h"\r
+                                       RelativePath=".\include\GameServ\DataLayer\File\FilePlayerDAO.h"\r
                                        >\r
                                </File>\r
                        </Filter>\r
diff --git a/gameserv-2.0/libgameservgldl/src/DataLayer/File/FileArmorDAO.cpp b/gameserv-2.0/libgameservgldl/src/DataLayer/File/FileArmorDAO.cpp
deleted file mode 100644 (file)
index 3a3e92f..0000000
+++ /dev/null
@@ -1,165 +0,0 @@
-#include <GameServ/DataLayer/File/FileArmorDAO.h>\r
-using GameServ::DataLayer::File::FileArmorDAO;\r
-#include <GameServ/GameLayer/GameObjects/ArmorGO.h>\r
-using GameServ::GameLayer::GameObjects::ArmorGO;\r
-\r
-#include <GameServ/DataLayer/DataLayerExceptions.h>\r
-using GameServ::DataLayer::Exceptions::ResourceException;\r
-using GameServ::DataLayer::Exceptions::DataLayerException;\r
-\r
-#include <GameServ/DataLayer/File/FileId.h>\r
-using GameServ::DataLayer::File::FileId;\r
-\r
-#include <GameServ/Types.h>\r
-using GameServ::Types::ItemTypes;\r
-using GameServ::Types::Modifiers;\r
-\r
-#include <boost/shared_ptr.hpp>\r
-#include <boost/format.hpp>\r
-#include <boost/algorithm/string.hpp>\r
-#include <boost/lexical_cast.hpp>\r
-using boost::shared_ptr;\r
-using boost::format;\r
-using boost::str;\r
-using boost::algorithm::to_upper;\r
-using boost::lexical_cast;\r
-#include <boost/tokenizer.hpp>\r
-typedef boost::tokenizer<boost::char_separator<char> > \r
-    tokenizer;\r
-\r
-#include <string>\r
-using std::string;\r
-\r
-#include <fstream>\r
-using std::ifstream;\r
-using std::getline;\r
-using std::ofstream;\r
-using std::endl;\r
-\r
-#include <map>\r
-using std::map;\r
-\r
-// TODO: Switch filename to be loaded from a config file\r
-FileArmorDAO::FileArmorDAO() : mFilename("data/items/masteritems.dat")\r
-{\r
-       Initialize(GetArmorFilePath());\r
-}\r
-\r
-FileArmorDAO::FileArmorDAO(const string &filename)\r
-{\r
-       Initialize(filename);\r
-}\r
-\r
-FileArmorDAO::~FileArmorDAO()\r
-{\r
-}\r
-\r
-void FileArmorDAO::Initialize(const string &filename)\r
-{\r
-       mFilename = filename;\r
-       LoadArmorCache();\r
-}\r
-\r
-string FileArmorDAO::GetArmorFilePath() const\r
-{\r
-       return mFilename;\r
-}\r
-\r
-shared_ptr<ArmorGO> FileArmorDAO::GetById(const string &Id) const\r
-{\r
-       string line;\r
-       ifstream infile;\r
-       infile.open(GetArmorFilePath().c_str());\r
-\r
-       if (infile.fail())\r
-       {\r
-               throw ResourceException(str(format("Unable to open file %1%") % GetArmorFilePath()), __FILE__, __LINE__);\r
-       }\r
-\r
-\r
-       while (getline(infile, line))\r
-       {\r
-               shared_ptr<ArmorGO> spArmor = CreateArmorFromLine(line);\r
-               if (spArmor->Id() == Id)\r
-               {\r
-                       return spArmor;\r
-               }\r
-       }\r
-       return shared_ptr<ArmorGO>();\r
-}\r
-\r
-shared_ptr<ArmorGO> FileArmorDAO::CreateArmorFromLine(const string &line) const\r
-{\r
-       assert(!line.empty());\r
-       shared_ptr<ArmorGO> spArmor;\r
-       map<Modifiers::Modifier, int> modifiers;\r
-       spArmor = shared_ptr<ArmorGO>(new ArmorGO());\r
-       boost::char_separator<char> sep("~", 0, boost::keep_empty_tokens);\r
-       tokenizer tokens(line, sep);\r
-       tokenizer::iterator tok_iter = tokens.begin();\r
-       if ((*tok_iter) != "2")\r
-               return shared_ptr<ArmorGO>();\r
-       tok_iter++;\r
-       spArmor->Id(FileId::CreateItemId(ItemTypes::Armor, (*tok_iter)));\r
-\r
-       tok_iter++;\r
-       spArmor->Name((*tok_iter));\r
-       tok_iter++;\r
-       spArmor->Price(lexical_cast<unsigned long int>((*tok_iter)));\r
-       tok_iter++;\r
-       spArmor->Uses(lexical_cast<int>((*tok_iter)));\r
-       tok_iter++;\r
-       modifiers[Modifiers::strength] = lexical_cast<int>((*tok_iter));\r
-       tok_iter++;\r
-       modifiers[Modifiers::defense] = lexical_cast<int>((*tok_iter));\r
-       tok_iter++;\r
-       modifiers[Modifiers::maxhp] = lexical_cast<int>((*tok_iter));\r
-       tok_iter++;\r
-       modifiers[Modifiers::hp] = lexical_cast<int>((*tok_iter));\r
-       tok_iter++;\r
-       modifiers[Modifiers::forestfights] = lexical_cast<int>((*tok_iter));\r
-       tok_iter++;\r
-       modifiers[Modifiers::playerfights] = lexical_cast<int>((*tok_iter));\r
-       tok_iter++;\r
-       modifiers[Modifiers::gold] = lexical_cast<int>((*tok_iter));\r
-       tok_iter++;\r
-       modifiers[Modifiers::bank] = lexical_cast<int>((*tok_iter));\r
-       spArmor->Modifiers(modifiers);\r
-\r
-       return spArmor;\r
-}\r
-bool FileArmorDAO::IdExists(const string &Id) const\r
-{\r
-       map<string, shared_ptr<ArmorGO> >::const_iterator iter;\r
-       iter = spArmorCache.find(Id);\r
-       return (iter != spArmorCache.end());\r
-}\r
-\r
-void FileArmorDAO::LoadArmorCache(void)\r
-{\r
-       ifstream infile;\r
-       infile.open(mFilename.c_str());\r
-\r
-       if (infile.fail())\r
-       {\r
-               throw DataLayerException(str(format("Unable to open %1% for reading") % mFilename), __FILE__, __LINE__);\r
-       }\r
-       string line;\r
-       while (getline(infile, line))\r
-       {\r
-               if (line.length() == 0)\r
-               {\r
-                       continue;\r
-               }\r
-               if (line[0] == '#')\r
-               {\r
-                       continue;\r
-               }\r
-               shared_ptr<ArmorGO> spArmor = CreateArmorFromLine(line);\r
-               if (spArmor != 0)\r
-               {\r
-                       spArmorCache[spArmor->Id()] = spArmor;\r
-               }\r
-       }\r
-       infile.close();\r
-}\r
index 37a2dcbb5a7c130b1ac2bcd6918d106d49a903d8..00941e9de41ce45ffe3c90ed986f4c9753693b38 100644 (file)
@@ -1,12 +1,10 @@
 #include <GameServ/DataLayer/File/FileDAOFactory.h>\r
 #include <GameServ/DataLayer/File/FilePlayerDAO.h>\r
-#include <GameServ/DataLayer/File/FileArmorDAO.h>\r
-#include <GameServ/DataLayer/File/FileWeaponDAO.h>\r
+#include <GameServ/DataLayer/File/FileItemDAO.h>\r
 \r
 using GameServ::DataLayer::File::FileDAOFactory;\r
 using GameServ::DataLayer::File::FilePlayerDAO;\r
-using GameServ::DataLayer::File::FileArmorDAO;\r
-using GameServ::DataLayer::File::FileWeaponDAO;\r
+using GameServ::DataLayer::File::FileItemDAO;\r
 \r
 #include <boost/smart_ptr/shared_ptr.hpp>\r
 using boost::shared_ptr;\r
@@ -24,12 +22,8 @@ shared_ptr<IPlayerDAO> FileDAOFactory::GetPlayerDAO(void) const
        return shared_ptr<IPlayerDAO>(new FilePlayerDAO());\r
 }\r
 \r
-shared_ptr<IArmorDAO> FileDAOFactory::GetArmorDAO(void) const\r
+shared_ptr<IItemDAO> FileDAOFactory::GetItemDAO(void) const\r
 {\r
-       return shared_ptr<IArmorDAO>(new FileArmorDAO());\r
+       return shared_ptr<IItemDAO>(new FileItemDAO());\r
 }\r
 \r
-shared_ptr<IWeaponDAO> FileDAOFactory::GetWeaponDAO(void) const\r
-{\r
-       return shared_ptr<IWeaponDAO>(new FileWeaponDAO());\r
-}\r
index f95d8f1ef756d7248183829331e6872ff127b483..999a17abf6a6da6519b087899bb28a44b45735f9 100644 (file)
@@ -35,10 +35,9 @@ string FileId::GetNameFromPlayerId(const string &Id)
        return Id;\r
 }\r
 \r
-string FileId::CreateItemId(ItemTypes::ItemType type, const string &Number)\r
+string FileId::CreateItemId(const string &Number)\r
 {\r
-       string id = ItemTypes::GetName(type) + ":" + Number;\r
-       return id;\r
+       return Number;\r
 }\r
 \r
 ItemTypes::ItemType FileId::GetItemTypeFromId(const string &Id)\r
index 7d64342fa3b9b69731a3cfaaee64d3c5efcfda24..716663e791734e9a85b787307e4c9e0ec9d6b3eb 100644 (file)
@@ -1,9 +1,7 @@
 #include <GameServ/DataLayer/File/FilePlayerDAO.h>\r
 using GameServ::DataLayer::File::FilePlayerDAO;\r
-#include <GameServ/DataLayer/File/FileArmorDAO.h>\r
-using GameServ::DataLayer::File::FileArmorDAO;\r
-#include <GameServ/DataLayer/File/FileWeaponDAO.h>\r
-using GameServ::DataLayer::File::FileWeaponDAO;\r
+#include <GameServ/DataLayer/File/FileItemDAO.h>\r
+using GameServ::DataLayer::File::FileItemDAO;\r
 \r
 #include <GameServ/GameLayer/GameObjects/PlayerGO.h>\r
 using GameServ::GameLayer::GameObjects::PlayerGO;\r
@@ -20,6 +18,7 @@ using GameServ::DataLayer::File::FileId;
 #include <boost/algorithm/string.hpp>\r
 #include <boost/lexical_cast.hpp>\r
 using boost::shared_ptr;\r
+using boost::shared_static_cast;\r
 using boost::format;\r
 using boost::str;\r
 using boost::algorithm::to_upper;\r
@@ -193,15 +192,14 @@ shared_ptr<PlayerGO> FilePlayerDAO::CreatePlayerFromLine(const string &line) con
        \r
        // Weapon\r
        tok_iter++;\r
-       FileWeaponDAO wdao;\r
-       string weaponid = FileId::CreateItemId(ItemTypes::Weapon, (*tok_iter));\r
-       spPlayer->Weapon(wdao.GetById(weaponid));\r
+       FileItemDAO idao;\r
+       string weaponid = FileId::CreateItemId((*tok_iter));\r
+       spPlayer->Weapon(boost::shared_static_cast<WeaponGO>(idao.GetById(weaponid)));\r
 \r
        // Armor\r
        tok_iter++;\r
-       FileArmorDAO adao;\r
-       string armorid = FileId::CreateItemId(ItemTypes::Armor, (*tok_iter));\r
-       spPlayer->Armor(adao.GetById(armorid));\r
+       string armorid = FileId::CreateItemId((*tok_iter));\r
+       spPlayer->Armor(boost::shared_static_cast<ArmorGO>(idao.GetById(armorid)));\r
 \r
        tok_iter++;\r
        while (tok_iter != tokens.end())\r
diff --git a/gameserv-2.0/libgameservgldl/src/DataLayer/File/FileWeaponDAO.cpp b/gameserv-2.0/libgameservgldl/src/DataLayer/File/FileWeaponDAO.cpp
deleted file mode 100644 (file)
index f7ca38b..0000000
+++ /dev/null
@@ -1,165 +0,0 @@
-#include <GameServ/DataLayer/File/FileWeaponDAO.h>\r
-using GameServ::DataLayer::File::FileWeaponDAO;\r
-#include <GameServ/GameLayer/GameObjects/WeaponGO.h>\r
-using GameServ::GameLayer::GameObjects::WeaponGO;\r
-\r
-#include <GameServ/DataLayer/DataLayerExceptions.h>\r
-using GameServ::DataLayer::Exceptions::ResourceException;\r
-using GameServ::DataLayer::Exceptions::DataLayerException;\r
-\r
-#include <GameServ/DataLayer/File/FileId.h>\r
-using GameServ::DataLayer::File::FileId;\r
-\r
-#include <GameServ/Types.h>\r
-using GameServ::Types::ItemTypes;\r
-using GameServ::Types::Modifiers;\r
-\r
-#include <boost/shared_ptr.hpp>\r
-#include <boost/format.hpp>\r
-#include <boost/algorithm/string.hpp>\r
-#include <boost/lexical_cast.hpp>\r
-using boost::shared_ptr;\r
-using boost::format;\r
-using boost::str;\r
-using boost::algorithm::to_upper;\r
-using boost::lexical_cast;\r
-#include <boost/tokenizer.hpp>\r
-typedef boost::tokenizer<boost::char_separator<char> > \r
-    tokenizer;\r
-\r
-#include <string>\r
-using std::string;\r
-\r
-#include <fstream>\r
-using std::ifstream;\r
-using std::getline;\r
-using std::ofstream;\r
-using std::endl;\r
-\r
-#include <map>\r
-using std::map;\r
-\r
-// TODO: Switch filename to be loaded from a config file\r
-FileWeaponDAO::FileWeaponDAO() : mFilename("data/items/masteritems.dat")\r
-{\r
-       Initialize(GetWeaponFilePath());\r
-}\r
-\r
-FileWeaponDAO::FileWeaponDAO(const string &filename)\r
-{\r
-       Initialize(filename);\r
-}\r
-\r
-FileWeaponDAO::~FileWeaponDAO()\r
-{\r
-}\r
-\r
-void FileWeaponDAO::Initialize(const string &filename)\r
-{\r
-       mFilename = filename;\r
-       LoadWeaponCache();\r
-}\r
-\r
-string FileWeaponDAO::GetWeaponFilePath() const\r
-{\r
-       return mFilename;\r
-}\r
-\r
-shared_ptr<WeaponGO> FileWeaponDAO::GetById(const string &Id) const\r
-{\r
-       string line;\r
-       ifstream infile;\r
-       infile.open(GetWeaponFilePath().c_str());\r
-\r
-       if (infile.fail())\r
-       {\r
-               throw ResourceException(str(format("Unable to open file %1%") % GetWeaponFilePath()), __FILE__, __LINE__);\r
-       }\r
-\r
-\r
-       while (getline(infile, line))\r
-       {\r
-               shared_ptr<WeaponGO> spWeapon = CreateWeaponFromLine(line);\r
-               if (spWeapon->Id() == Id)\r
-               {\r
-                       return spWeapon;\r
-               }\r
-       }\r
-       return shared_ptr<WeaponGO>();\r
-}\r
-\r
-shared_ptr<WeaponGO> FileWeaponDAO::CreateWeaponFromLine(const string &line) const\r
-{\r
-       assert(!line.empty());\r
-       shared_ptr<WeaponGO> spWeapon;\r
-       map<Modifiers::Modifier, int> modifiers;\r
-       spWeapon = shared_ptr<WeaponGO>(new WeaponGO());\r
-       boost::char_separator<char> sep("~", 0, boost::keep_empty_tokens);\r
-       tokenizer tokens(line, sep);\r
-       tokenizer::iterator tok_iter = tokens.begin();\r
-       if ((*tok_iter) != "1")\r
-               return shared_ptr<WeaponGO>();\r
-       tok_iter++;\r
-       spWeapon->Id(FileId::CreateItemId(ItemTypes::Weapon, (*tok_iter)));\r
-\r
-       tok_iter++;\r
-       spWeapon->Name((*tok_iter));\r
-       tok_iter++;\r
-       spWeapon->Price(lexical_cast<unsigned long int>((*tok_iter)));\r
-       tok_iter++;\r
-       spWeapon->Uses(lexical_cast<int>((*tok_iter)));\r
-       tok_iter++;\r
-       modifiers[Modifiers::strength] = lexical_cast<int>((*tok_iter));\r
-       tok_iter++;\r
-       modifiers[Modifiers::defense] = lexical_cast<int>((*tok_iter));\r
-       tok_iter++;\r
-       modifiers[Modifiers::maxhp] = lexical_cast<int>((*tok_iter));\r
-       tok_iter++;\r
-       modifiers[Modifiers::hp] = lexical_cast<int>((*tok_iter));\r
-       tok_iter++;\r
-       modifiers[Modifiers::forestfights] = lexical_cast<int>((*tok_iter));\r
-       tok_iter++;\r
-       modifiers[Modifiers::playerfights] = lexical_cast<int>((*tok_iter));\r
-       tok_iter++;\r
-       modifiers[Modifiers::gold] = lexical_cast<int>((*tok_iter));\r
-       tok_iter++;\r
-       modifiers[Modifiers::bank] = lexical_cast<int>((*tok_iter));\r
-       spWeapon->Modifiers(modifiers);\r
-\r
-       return spWeapon;\r
-}\r
-bool FileWeaponDAO::IdExists(const string &Id) const\r
-{\r
-       map<string, shared_ptr<WeaponGO> >::const_iterator iter;\r
-       iter = spWeaponCache.find(Id);\r
-       return (iter != spWeaponCache.end());\r
-}\r
-\r
-void FileWeaponDAO::LoadWeaponCache(void)\r
-{\r
-       ifstream infile;\r
-       infile.open(mFilename.c_str());\r
-\r
-       if (infile.fail())\r
-       {\r
-               throw DataLayerException(str(format("Unable to open %1% for reading") % mFilename), __FILE__, __LINE__);\r
-       }\r
-       string line;\r
-       while (getline(infile, line))\r
-       {\r
-               if (line.length() == 0)\r
-               {\r
-                       continue;\r
-               }\r
-               if (line[0] == '#')\r
-               {\r
-                       continue;\r
-               }\r
-               shared_ptr<WeaponGO> spWeapon = CreateWeaponFromLine(line);\r
-               if (spWeapon != 0)\r
-               {\r
-                       spWeaponCache[spWeapon->Id()] = spWeapon;\r
-               }\r
-       }\r
-       infile.close();\r
-}\r
diff --git a/gameserv-2.0/libgameservgldl/src/DataLayer/IArmorDAO.cpp b/gameserv-2.0/libgameservgldl/src/DataLayer/IArmorDAO.cpp
deleted file mode 100644 (file)
index 798e010..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <GameServ/DataLayer/IArmorDAO.h>\r
-using GameServ::DataLayer::DataAccessObjects::IArmorDAO;\r
-\r
-IArmorDAO::IArmorDAO()\r
-{\r
-}\r
-\r
-IArmorDAO::~IArmorDAO()\r
-{\r
-}
\ No newline at end of file
diff --git a/gameserv-2.0/libgameservgldl/src/DataLayer/IWeaponDAO.cpp b/gameserv-2.0/libgameservgldl/src/DataLayer/IWeaponDAO.cpp
deleted file mode 100644 (file)
index fadab71..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <GameServ/DataLayer/IWeaponDAO.h>\r
-using GameServ::DataLayer::DataAccessObjects::IWeaponDAO;\r
-\r
-IWeaponDAO::IWeaponDAO()\r
-{\r
-}\r
-\r
-IWeaponDAO::~IWeaponDAO()\r
-{\r
-}
\ No newline at end of file