]> jfr.im git - irc/gameservirc.git/blobdiff - gameserv-2.0/libgameservgldl/include/GameServ/GameLayer/FightGL.h
Changed Range to be a template class so it can be used with unsigned & signed ints...
[irc/gameservirc.git] / gameserv-2.0 / libgameservgldl / include / GameServ / GameLayer / FightGL.h
diff --git a/gameserv-2.0/libgameservgldl/include/GameServ/GameLayer/FightGL.h b/gameserv-2.0/libgameservgldl/include/GameServ/GameLayer/FightGL.h
new file mode 100644 (file)
index 0000000..c4f9fc0
--- /dev/null
@@ -0,0 +1,42 @@
+#ifndef __GS__FIGHTGL_H__\r
+#define __GS__FIGHTGL_H__\r
+\r
+#include <GameServ/GameLayer/GameObjects/PlayerGO.h>\r
+#include <GameServ/GameLayer/GameObjects/MonsterGO.h>\r
+using GameServ::GameLayer::GameObjects::PlayerGO;\r
+using GameServ::GameLayer::GameObjects::MonsterGO;\r
+\r
+#include <GameServ/DataLayer/IPlayerDAO.h>\r
+using GameServ::DataLayer::DataAccessObjects::IPlayerDAO;\r
+\r
+\r
+#include <boost/smart_ptr/shared_ptr.hpp>\r
+using boost::shared_ptr;\r
+\r
+#include <string>\r
+using std::string;\r
+\r
+namespace GameServ { namespace GameLayer {\r
+\r
+class FightGL\r
+{\r
+public:\r
+       FightGL();\r
+       ~FightGL();\r
+       \r
+       unsigned int PlayerAttackMonster(shared_ptr<PlayerGO> spPlayer, shared_ptr<MonsterGO> spMonster);\r
+       unsigned int MonsterAttackPlayer(shared_ptr<MonsterGO> spMonster, shared_ptr<PlayerGO> spPlayer);\r
+\r
+       unsigned int PlayerAttackPlayer(shared_ptr<PlayerGO> spPlayerAttacker, shared_ptr<PlayerGO> spPlayerDefender);\r
+       \r
+\r
+private:\r
+\r
+       unsigned int CalculateAttack(unsigned int strength, unsigned int defense);\r
+       void Initialize();\r
+       shared_ptr<IPlayerDAO> mspPlayerDAO;\r
+};\r
+\r
+}}\r
+\r
+#endif
\ No newline at end of file