From 59233e49d85d2c805c46d5519b0224da1239c4f5 Mon Sep 17 00:00:00 2001 From: Roderic Morris Date: Mon, 27 Oct 2008 15:46:23 +0000 Subject: add effect handler (by Chuck Miller) --- src/net/effecthandler.cpp | 59 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 src/net/effecthandler.cpp (limited to 'src/net/effecthandler.cpp') 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); +} + -- cgit v1.2.3-70-g09d2