]> jfr.im git - irc/gameservirc.git/commitdiff
As part of sticking to the Single Responsibility Principle of OOD, I am creating...
authorkainazzzo <redacted>
Mon, 21 Sep 2009 22:02:32 +0000 (22:02 +0000)
committerkainazzzo <redacted>
Mon, 21 Sep 2009 22:02:32 +0000 (22:02 +0000)
git-svn-id: https://svn.code.sf.net/p/gameservirc/code/trunk@531 bc333340-6410-0410-a689-9d09f3c113fa

gameserv-2.0/libgameservgldl/include/GameServ/GameLayer/GameObjects/ArmorGO.h
gameserv-2.0/libgameservgldl/include/GameServ/GameLayer/GameObjects/PlayerGO.h
gameserv-2.0/libgameservgldl/include/GameServ/GameLayer/Helpers/ItemCloner.h [new file with mode: 0644]
gameserv-2.0/libgameservgldl/libgameservgldl.vcproj
gameserv-2.0/libgameservgldl/src/DataLayer/File/FilePlayerDAO.cpp
gameserv-2.0/libgameservgldl/src/GameLayer/Helpers/ItemCloner.cpp [new file with mode: 0644]

index cd127b95e4d3fd0afc2e2073e0cb3209b39c3804..09ae0cd0168b52323d1882cf40190a86bbc14250 100644 (file)
@@ -17,7 +17,7 @@ public:
        virtual ~ArmorGO();\r
 \r
        virtual ItemTypes::ItemType Type(void) const;\r
-       virtual ArmorGO *Clone(void) const;\r
+       virtual ItemGO *Clone(void) const;\r
 \r
 private:\r
 };\r
index 36780e4b8a34e0cb10aba1a43c22c9187ca394a9..420d20a2845468db8c43edd6887d3b54d21b0062 100644 (file)
@@ -137,7 +137,7 @@ namespace GameServ { namespace GameLayer { namespace GameObjects
                bool operator==(const PlayerGO &right) const;\r
                bool operator!=(const PlayerGO &right) const;\r
 \r
-               virtual PlayerGO *Clone(void) const;\r
+               virtual ItemGO *Clone(void) const;\r
 \r
                virtual ObjectTypes::ObjectType ObjectType(void) const;\r
 \r
diff --git a/gameserv-2.0/libgameservgldl/include/GameServ/GameLayer/Helpers/ItemCloner.h b/gameserv-2.0/libgameservgldl/include/GameServ/GameLayer/Helpers/ItemCloner.h
new file mode 100644 (file)
index 0000000..117ce42
--- /dev/null
@@ -0,0 +1,18 @@
+#ifndef __GS__ITEMCLONER_H__\r
+#define __GS__ITEMCLONER_H__\r
+\r
+#include <GameServ/GameLayer/GameObjects/ItemGO.h>\r
+using GameServ::GameLayer::GameObjects::ItemGO;\r
+\r
+namespace GameServ { namespace GameLayer { \r
+\r
+class ItemCloner\r
+{\r
+public:\r
+private:\r
+\r
+};\r
+\r
+}} // GameServ::GameLayer\r
+\r
+#endif
\ No newline at end of file
index 80bf7831b6b2562dfba14df7fbde4b6d9dd37bf8..1fcc9842be1c0b165025f9bc2318876e5ce949b4 100644 (file)
                                        >\r
                                </File>\r
                        </Filter>\r
+                       <Filter\r
+                               Name="Helpers"\r
+                               >\r
+                               <File\r
+                                       RelativePath=".\src\GameLayer\Helpers\ItemCloner.cpp"\r
+                                       >\r
+                               </File>\r
+                               <File\r
+                                       RelativePath=".\include\GameServ\GameLayer\Helpers\ItemCloner.h"\r
+                                       >\r
+                               </File>\r
+                       </Filter>\r
                </Filter>\r
        </Files>\r
        <Globals>\r
index f983ffcaf857fe0ccf715f0c71819ca56249221e..5e1e5983e836d67b8b589ae15f7e6297c30e1075 100644 (file)
@@ -290,7 +290,7 @@ shared_ptr<PlayerGO> FilePlayerDAO::CreatePlayerFromLine(const string &line) con
                        throw DataLayerException(str(format("Corrupt %1% file: Non integer item uses for item %2% on player %3%") %\r
                                mFilename % itemid % spPlayer->Name()), __FILE__, __LINE__);\r
                }\r
-               spPlayer->AddItemToInventory(spItem);\r
+               spPlayer->AddItemToInventory(spItem->Clone());\r
                tok_iter++;\r
        }\r
        \r
diff --git a/gameserv-2.0/libgameservgldl/src/GameLayer/Helpers/ItemCloner.cpp b/gameserv-2.0/libgameservgldl/src/GameLayer/Helpers/ItemCloner.cpp
new file mode 100644 (file)
index 0000000..e69de29