/*==LICENSE==* CyanWorlds.com Engine - MMOG client, server and tools Copyright (C) 2011 Cyan Worlds, Inc. This program 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 3 of the License, or (at your option) any later version. This program 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 this program. If not, see . You can contact Cyan Worlds, Inc. by email legal@cyan.com or by snail mail at: Cyan Worlds, Inc. 14617 N Newport Hwy Mead, WA 99021 *==LICENSE==*/ #include "hsTypes.h" #include "hsStream.h" #include "plListenerMsg.h" #include "hsResMgr.h" #include "../pnKeyedObject/plUoid.h" #include "../pnKeyedObject/plFixedKey.h" void plListenerMsg::Read(hsStream* s, hsResMgr* mgr) { plMessage::IMsgRead(s, mgr); fPos.Read(s); fDir.Read(s); fUp.Read(s); fVel.Read(s); } void plListenerMsg::Write(hsStream* s, hsResMgr* mgr) { plMessage::IMsgWrite(s, mgr); fPos.Write(s); fDir.Write(s); fUp.Write(s); fVel.Write(s); } plSetListenerMsg::plSetListenerMsg( UInt8 type, const plKey &srcKey, hsBool binding ) : plMessage( nil, nil, nil ) { plUoid uoid( kListenerMod_KEY ); plKey pLKey = hsgResMgr::ResMgr()->FindKey( uoid ); AddReceiver( pLKey ); Set( srcKey, type, binding ); } plSetListenerMsg::~plSetListenerMsg() { } void plSetListenerMsg::Read( hsStream *s, hsResMgr *mgr ) { plMessage::IMsgRead(s, mgr); fType = s->ReadByte(); fSrcKey = mgr->ReadKey( s ); fBinding = s->ReadBool(); } void plSetListenerMsg::Write( hsStream *s, hsResMgr *mgr ) { plMessage::IMsgWrite(s, mgr); s->WriteByte( fType ); mgr->WriteKey( s, fSrcKey ); s->WriteBool( fBinding ); } void plSetListenerMsg::Set( const plKey &key, UInt8 type, hsBool binding ) { fSrcKey = key; fType = (UInt8)type; fBinding = binding; }