#ifndef _SERIALIZE_CHARACTER_DATA_H_ #define _SERIALIZE_CHARACTER_DATA_H_ #include "BroadcastCharacterData.h" #include "ChatCharData.h" //! º» ÆÄÀÏÀº ¼­¹ö¸¸ »ç¿ëÇÏ´Â ÆÄÀÏÀÌ´Ù. Ŭ¶óÀÌ¾ðÆ®¿¡°Ô µ¥ÀÌÅ͸¦ º¸³»±â À§Çؼ­ //! ¹öÆÛ¿¡ Á÷·ÄÈ­(Serialze) ¸¦ ¼öÇàÇϰí, ±× µ¥ÀÌÅ͸¦ °¡Áö°í Àִ Ŭ·¡½ºÀÌ´Ù. //! º¯°æµÈ Á¡¿¡ ´ëÇÑ µ¥ÀÌÅ͵µ °¡Áö°í ÀÖÀ¸¹Ç·Î, ¸Å Ãʸ¶´Ù º¯°æ µ¥ÀÌÅ͸¦ »Ñ¸°´Ù. //! forward decl class CCharacter; class CMonster; namespace Broadcast2nd { class CSerializeCharacterData { public: enum { MAX_CHARACTER_DATA = 160 }; CSerializeCharacterData(); ~CSerializeCharacterData(); //! Ãʱ⠵¥ÀÌÅ͸¦ ¼¼ÆÃÇÑ´Ù. void InitializeData(CCharacter& character); //! µ¥ÀÌÅ͸¦ ¼¼ÆÃÇϰí, ÁغñÇϰí, Delta¸¦ ±¸ÇÑ´Ù. void PrepareData(CCharacter& character); void PrepareBroadcastData(CCharacter& character); void PrepareDeltaData(CCharacter& character); void ClearDeltaData() { m_usDeltaBroadcastDataLen = 0; } CCharacterData& GetCharacterData() { return m_LastCharacterData; } const char* GetBroadcastData() const { return m_aryBroadcastData; } unsigned short GetBroadcastDataLen() const { return m_usBroadcastDataLen; } const char* GetDeltaBroadcastData() const { return m_aryDeltaBroadcastData; } unsigned short GetDeltaBroadcastDataLen() const { return m_usDeltaBroadcastDataLen; } bool SendChatLogin(CCharacter& character); bool SendChatLogout(CCharacter& character); private: // äÆÃ¼­¹ö·Î º¸³¾ Diffµ¥ÀÌÅ͸¦ ÁغñÇϰí Àü¼ÛÇÑ´Ù. void SendDeltaChatData(CCharacter& character); CCharacterData m_LastCharacterData; ChatData::CCharInfo m_LastChatData; unsigned long m_dwPreparedCount; unsigned short m_usBroadcastDataLen; unsigned short m_usDeltaBroadcastDataLen; char m_aryBroadcastData[MAX_CHARACTER_DATA]; char m_aryDeltaBroadcastData[MAX_CHARACTER_DATA]; }; class CSerializeMonsterData { public: enum { MAX_MONSTER_DATA = 64 }; CSerializeMonsterData(); ~CSerializeMonsterData(); //! Ãʱ⠵¥ÀÌÅ͸¦ ¼¼ÆÃÇÑ´Ù. void InitializeData(CMonster& monster); //! µ¥ÀÌÅ͸¦ ¼¼ÆÃÇϰí, ÁغñÇϰí, Delta¸¦ ±¸ÇÑ´Ù. void PrepareData(CMonster& monster); void PrepareBroadcastData(CMonster& monster); void PrepareDeltaData(CMonster& monster); void ClearDeltaData() { m_usDeltaBroadcastDataLen = 0; } CMonsterData& GetMonsterData() { return m_LastMonsterData; } const char* GetBroadcastData() const { return m_aryBroadcastData; } unsigned short GetBroadcastDataLen() const { return m_usBroadcastDataLen; } const char* GetDeltaBroadcastData() const { return m_aryDeltaBroadcastData; } unsigned short GetDeltaBroadcastDataLen() const { return m_usDeltaBroadcastDataLen; } private: CMonsterData m_LastMonsterData; unsigned long m_dwPreparedCount; unsigned short m_usBroadcastDataLen; unsigned short m_usDeltaBroadcastDataLen; char m_aryBroadcastData[MAX_MONSTER_DATA]; char m_aryDeltaBroadcastData[MAX_MONSTER_DATA]; }; }; #endif