diff options
author | Roderic Morris <roderic@ccs.neu.edu> | 2008-10-27 15:46:23 +0000 |
---|---|---|
committer | Roderic Morris <roderic@ccs.neu.edu> | 2008-10-27 15:46:23 +0000 |
commit | 59233e49d85d2c805c46d5519b0224da1239c4f5 (patch) | |
tree | ec12d1f37b15fa736e243c7124f41ea80ab0b4dc /src/net/effecthandler.cpp | |
parent | db7eb254e97f1b3560b2e12f12cd2b4ff1828f4a (diff) | |
download | mana-59233e49d85d2c805c46d5519b0224da1239c4f5.tar.gz mana-59233e49d85d2c805c46d5519b0224da1239c4f5.tar.bz2 mana-59233e49d85d2c805c46d5519b0224da1239c4f5.tar.xz mana-59233e49d85d2c805c46d5519b0224da1239c4f5.zip |
add effect handler (by Chuck Miller)
Diffstat (limited to 'src/net/effecthandler.cpp')
-rw-r--r-- | src/net/effecthandler.cpp | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/src/net/effecthandler.cpp b/src/net/effecthandler.cpp new file mode 100644 index 00000000..04951d46 --- /dev/null +++ b/src/net/effecthandler.cpp @@ -0,0 +1,59 @@ +/* + * The Mana World + * Copyright 2004 The Mana World Development Team + * + * This file is part of The Mana World. + * + * The Mana World is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * any later version. + * + * The Mana World is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with The Mana World; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + */ + +#include "effecthandler.h" + +#include "messagein.h" +#include "protocol.h" + +#include "../effectmanager.h" + + +EffectHandler::EffectHandler() +{ + static const Uint16 _messages[] = { + GPMSG_CREATE_EFFECT, + 0 + }; + handledMessages = _messages; +} + +void EffectHandler::handleMessage(MessageIn &msg) +{ + switch (msg.getId()) + { + case GPMSG_CREATE_EFFECT: + handleCreateEffects(msg); + break; + default: + break; + } +} + +void EffectHandler::handleCreateEffects(MessageIn &msg) +{ + int id = msg.readInt16(); + Uint16 x = msg.readInt16(); + Uint16 y = msg.readInt16(); + effectManager->trigger(id, x, y); +} + |