1 /*!
2 	@file
3 	@author		Albert Semenov
4 	@date		11/2009
5 */
6 #ifndef DEMO_RESOURCE_DEVICE_H_
7 #define DEMO_RESOURCE_DEVICE_H_
8 
9 #include "MyGUI_Prerequest.h"
10 #include "MyGUI_XmlDocument.h"
11 #include "MyGUI_IResource.h"
12 #include "MyGUI_ResourceManager.h"
13 
14 namespace demo
15 {
16 
17 	class ResourceDevice :
18 		public MyGUI::IResource,
19 		public MyGUI::GenericFactory<ResourceDevice>
20 	{
21 		friend class MyGUI::GenericFactory<ResourceDevice>;
22 
MYGUI_RTTI_DERIVED(ResourceDevice)23 		MYGUI_RTTI_DERIVED( ResourceDevice )
24 
25 	private:
26 		ResourceDevice() :
27 			mValueEnergy(0),
28 			mValueExplosion(0),
29 			mValueTarget(0),
30 			mValueHP(0)
31 		{
32 		}
33 
deserialization(MyGUI::xml::ElementPtr _node,MyGUI::Version _version)34 		void deserialization(MyGUI::xml::ElementPtr _node, MyGUI::Version _version) override
35 		{
36 			Base::deserialization(_node, _version);
37 
38 			MyGUI::xml::ElementEnumerator node = _node->getElementEnumerator();
39 			while (node.next())
40 			{
41 				if (node->getName() == "Name") mDeviceName = node->getContent();
42 				else if (node->getName() == "Description") mDeviceDescription = node->getContent();
43 				else if (node->getName() == "ValueEnergy") mValueEnergy = MyGUI::utility::parseValue<size_t>(node->getContent());
44 				else if (node->getName() == "ValueExplosion") mValueExplosion = MyGUI::utility::parseValue<size_t>(node->getContent());
45 				else if (node->getName() == "ValueTarget") mValueTarget = MyGUI::utility::parseValue<size_t>(node->getContent());
46 				else if (node->getName() == "ValueHP") mValueHP = MyGUI::utility::parseValue<size_t>(node->getContent());
47 			}
48 		}
49 
50 	public:
getDeviceName()51 		const std::string& getDeviceName()
52 		{
53 			return mDeviceName;
54 		}
getDeviceDescription()55 		const std::string& getDeviceDescription()
56 		{
57 			return mDeviceDescription;
58 		}
getValueEnergy()59 		size_t getValueEnergy()
60 		{
61 			return mValueEnergy;
62 		}
getValueExplosion()63 		size_t getValueExplosion()
64 		{
65 			return mValueExplosion;
66 		}
getValueTarget()67 		size_t getValueTarget()
68 		{
69 			return mValueTarget;
70 		}
getValueHP()71 		size_t getValueHP()
72 		{
73 			return mValueHP;
74 		}
75 
76 	private:
77 		std::string mDeviceName;
78 		std::string mDeviceDescription;
79 		size_t mValueEnergy;
80 		size_t mValueExplosion;
81 		size_t mValueTarget;
82 		size_t mValueHP;
83 
84 	};
85 
86 } // namespace demo
87 
88 #endif // DEMO_RESOURCE_DEVICE_H_
89