void CElementRPCs::RemoveElementData ( CClientEntity* pSource, NetBitStreamInterface& bitStream ) { // Read out the name length unsigned short usNameLength; bool bRecursive; if ( bitStream.ReadCompressed ( usNameLength ) ) { SString strName; // Read out the name plus whether it's recursive or not if ( bitStream.ReadStringCharacters ( strName, usNameLength ) && bitStream.ReadBit ( bRecursive ) ) { // Remove that name pSource->DeleteCustomData ( strName, bRecursive ); } } }
bool CLuaEventPacket::Read(NetBitStreamInterface& BitStream) { unsigned short usNameLength; if (BitStream.ReadCompressed(usNameLength)) { if (usNameLength < (MAX_EVENT_NAME_LENGTH - 1) && BitStream.ReadStringCharacters(m_strName, usNameLength) && BitStream.Read(m_ElementID)) { // Faster than using a constructor m_ArgumentsStore.DeleteArguments(); if(!m_ArgumentsStore.ReadFromBitStream(BitStream)) return false; m_pArguments = &m_ArgumentsStore; return true; } } return false; }
void CElementRPCs::SetElementData ( CClientEntity* pSource, NetBitStreamInterface& bitStream ) { unsigned short usNameLength; if ( bitStream.ReadCompressed ( usNameLength ) ) { // We should never receive an illegal name length from the server if ( usNameLength > MAX_CUSTOMDATA_NAME_LENGTH ) { CLogger::ErrorPrintf ( "RPC SetElementData name length > MAX_CUSTOMDATA_NAME_LENGTH" ); return; } SString strName; CLuaArgument Argument; if ( bitStream.ReadStringCharacters ( strName, usNameLength ) && Argument.ReadFromBitStream ( bitStream ) ) { pSource->SetCustomData ( strName, Argument, NULL ); } } }