summaryrefslogtreecommitdiff
path: root/src/event.cpp
diff options
context:
space:
mode:
authorJared Adams <jaxad0127@gmail.com>2010-08-01 21:32:16 -0600
committerJared Adams <jaxad0127@gmail.com>2010-08-01 21:35:09 -0600
commita3e61c0e830c46b51c0d135962ad361c02b93243 (patch)
tree3b94948be5750c8f968ea89723799eb4f119c063 /src/event.cpp
parent0e189bbe81c88283438aabb4fec3ba30920d3a36 (diff)
downloadmana-a3e61c0e830c46b51c0d135962ad361c02b93243.tar.gz
mana-a3e61c0e830c46b51c0d135962ad361c02b93243.tar.bz2
mana-a3e61c0e830c46b51c0d135962ad361c02b93243.tar.xz
mana-a3e61c0e830c46b51c0d135962ad361c02b93243.zip
Remove isActive methods from buy/sell windows
Uses a state variable in PlayerInfo instead. Moves isTalking from Being to PlayerInfo. Also some small cleanups. Reviewed-by: Chuck Miller
Diffstat (limited to 'src/event.cpp')
-rw-r--r--src/event.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/event.cpp b/src/event.cpp
index 65fdee8a..d503ad58 100644
--- a/src/event.cpp
+++ b/src/event.cpp
@@ -96,4 +96,24 @@ double Event::getFloat(const std::string &key) const throw (BadEvent)
return static_cast<FloatData *>(it->second)->getData();
}
+void Event::setBool(const std::string &key, bool value) throw (BadEvent)
+{
+ if (mData.find(key) != mData.end())
+ throw KEY_ALREADY_EXISTS;
+
+ mData[key] = new BoolData(value);
+}
+
+bool Event::getBool(const std::string &key) const throw (BadEvent)
+{
+ VariableMap::const_iterator it = mData.find(key);
+ if (it == mData.end())
+ throw BAD_KEY;
+
+ if (it->second->getType() != VariableData::DATA_BOOL)
+ throw BAD_VALUE;
+
+ return static_cast<BoolData *>(it->second)->getData();
+}
+
} // namespace Mana