Mana
Loading...
Searching...
No Matches
variabledata.h
Go to the documentation of this file.
1/*
2 * The Mana Client
3 * Copyright (C) 2010-2012 The Mana Developers
4 *
5 * This file is part of The Mana Client.
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 2 of the License, or
10 * any later version.
11 *
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License
18 * along with this program. If not, see <http://www.gnu.org/licenses/>.
19 */
20
21#pragma once
22
23#include <string>
24
25class ActorSprite;
26class Item;
27
29{
30public:
41
42 virtual ~VariableData() = default;
43
44 virtual int getType() const = 0;
45};
46
47class IntData : public VariableData
48{
49public:
50 IntData(int value) { mData = value; }
51
52 int getData() const { return mData; }
53
54 int getType() const override { return DATA_INT; }
55
56private:
57 int mData;
58};
59
61{
62public:
63 StringData(const std::string &value) { mData = value; }
64
65 const std::string &getData() const { return mData; }
66
67 int getType() const override { return DATA_STRING; }
68
69private:
70 std::string mData;
71};
72
73class FloatData : public VariableData
74{
75public:
76 FloatData(double value) { mData = value; }
77
78 double getData() const { return mData; }
79
80 int getType() const override { return DATA_FLOAT; }
81
82private:
83 double mData;
84};
85
86class BoolData : public VariableData
87{
88public:
89 BoolData(bool value) { mData = value; }
90
91 bool getData() const { return mData; }
92
93 int getType() const override { return DATA_BOOL; }
94
95private:
96 bool mData;
97};
98
99class ItemData : public VariableData
100{
101public:
102 ItemData(Item *value) { mData = value; }
103
104 Item *getData() const { return mData; }
105
106 int getType() const override { return DATA_ITEM; }
107
108private:
110};
111
113{
114public:
115 ActorData(ActorSprite *value) { mData = value; }
116
117 ActorSprite *getData() const { return mData; }
118
119 int getType() const override { return DATA_ACTOR; }
120
121private:
123};
ActorData(ActorSprite *value)
int getType() const override
ActorSprite * mData
ActorSprite * getData() const
bool getData() const
BoolData(bool value)
int getType() const override
double mData
FloatData(double value)
int getType() const override
double getData() const
int getType() const override
int getData() const
IntData(int value)
Item * getData() const
Item * mData
int getType() const override
ItemData(Item *value)
Represents one or more instances of a certain item type.
Definition item.h:35
std::string mData
StringData(const std::string &value)
int getType() const override
const std::string & getData() const
virtual int getType() const =0
virtual ~VariableData()=default