📄 chatmanager.h
字号:
#ifndef _CHATMANAGER_H
#define _CHATMANAGER_H
#define CHATMGR USINGTON(CChatManager)
#define MAX_CHATMSGNUM 800
class CKeyboard;
#include "ChatDialog.h"
/*
enum eChatKind
{
eCK_ALL,
eCK_PARTY,
eCK_MUNPA,
eCK_WHISPER,
};
*/
enum eTextClass
{
CTC_OPERATOR, //¿î¿µÀÚ¸Þ¼¼Áö //¿î¿µÀÚ
CTC_GENERALCHAT, //ÀϹÝäÆÃ //ÀϹÝ
CTC_PARTYCHAT, //ÆÄƼäÆÃ //ÆÄƼ
CTC_GUILDCHAT, //¹®ÆÄäÆÃ //¹®ÆÄ
CTC_WHISPER, //±Ó¸» //±Ó¸»
CTC_ATTACK, //°ø°Ý //°ø°Ý/¹æ¾î
CTC_ATTACKED, //»ó´ë°¡ °ø°Ý
CTC_DEFENCE, //¹æ¾î
CTC_DEFENCED, //»ó´ë°¡ ¹æ¾î
CTC_KILLED, //Á×À½
CTC_MPWARNING, //³»°ø°æ°í //³»°ø/»ý¸í·Â °æ°í
CTC_HPWARNING, //»ý¸í·Â°æ°í
CTC_GETITEM, //¾ÆÀÌÅÛȹµæ //¾ÆÀÌÅÛ/µ· ȹµæ
CTC_GETMONEY, //µ·È¹µæ
CTC_GETEXP,
CTC_GETABILITYEXP,
CTC_ABILITYUPGRADE_SUCCESS,
CTC_ABILITYUPGRADE_FAILED,
CTC_SYSMSG, //½Ã½ºÅÛ ¸Þ½ÃÁö
CTC_TOGM, //GM¾Ë¸²¸Þ¼¼Áö
CTC_TOWHOLE,
CTC_TOPARTY,
CTC_TOMUNPA,
CTC_CHEAT_1,
CTC_CHEAT_2,
CTC_CHEAT_3,
CTC_CHEAT_4,
CTC_CHEAT_5,
CTC_QUEST,
CTC_GMCHAT,
CTC_COUNT,
};
const DWORD dwChatTextColor[CTC_COUNT] = {
RGBA_MAKE(0, 255, 60, 255), //CTC_OPERATOR
RGBA_MAKE(255, 255, 255, 255), //CTC_GENERAL
RGBA_MAKE(185, 241, 69, 255), //CTC_PARTYCHAT
RGBA_MAKE(240, 255, 0, 255), //CTC_GUILDCHAT
// RGBA_MAKE(255, 51, 229, 255), //CTC_WHISPER
RGBA_MAKE(235, 178, 206, 255), //CTC_WHISPER
RGBA_MAKE(255, 97, 19, 255), //CTC_ATTACK
RGBA_MAKE(255, 97, 19, 255), //CTC_ATTACKED
RGBA_MAKE(255, 97, 19, 255), //CTC_DEFENCE
RGBA_MAKE(255, 97, 19, 255), //CTC_DEFENCED
RGBA_MAKE(255, 97, 19, 255), //CTC_KILLED
RGBA_MAKE(255, 52, 19, 255), //CTC_MPWARNING
RGBA_MAKE(255, 52, 19, 255), //CTC_HPWARNING
RGBA_MAKE(2, 255, 163, 255), //CTC_GETITEM
// RGBA_MAKE(132, 178, 208, 255), //CTC_GETMONEY
// RGBA_MAKE(132, 178, 208, 255), //CTC_GETEXP
// RGBA_MAKE(132, 178, 208, 255), //CTC_GETABILITYEXP
RGBA_MAKE(200, 200, 200, 255), //CTC_GETMONEY
RGBA_MAKE(200, 200, 200, 255), //CTC_GETEXP
RGBA_MAKE(200, 200, 200, 255), //CTC_GETABILITYEXP
RGBA_MAKE(82, 255, 204, 255), //CTC_ABILITYUPGRADE_SUCCESS,
RGBA_MAKE(82, 255, 204, 255), //CTC_ABILITYUPGRADE_FAILED,
RGBA_MAKE(82, 255, 204, 255), //CTC_SYSMSG
RGBA_MAKE(82, 255, 204, 255), //CTC_TOGM
RGBA_MAKE(171, 195, 255, 255), //CTC_TOWHOLE
RGBA_MAKE(255, 158, 6, 255), //CTC_TOPARTY
RGBA_MAKE(240, 255, 0, 255), //CTC_TOMUNPA
RGBA_MAKE(255, 0, 0, 255), //CTC_CHEAT_1
RGBA_MAKE(255, 255, 0, 255), //CTC_CHEAT_2
RGBA_MAKE(255, 0, 255, 255), //CTC_CHEAT_3
RGBA_MAKE(0, 255, 255, 255), //CTC_CHEAT_4
RGBA_MAKE(100, 50, 100, 255), //CTC_CHEAT_5
RGBA_MAKE( 0, 255, 255, 255 ), //CTC_QUEST
RGBA_MAKE( 28, 233, 151, 255 ), //CTC_GMCHAT
};
enum eChatOption
{
// CTO_PARTYTOWHOLE,
// CTO_MUNPATOWHOLE,
// CTO_NOWHISPER,
// CTO_ATTACKED,
// CTO_KILLED,
// CTO_ATTACK,
// CTO_DEFENCE,
// CTO_DEFENCED,
// CTO_MPWARNING,
// CTO_HPWARNING,
CTO_NOSYSMSG,
CTO_NOITEMMSG,
CTO_NOEXPMSG,
CTO_NOCHATMSG,
CTO_AUTOHIDECHAT,
CTO_COUNT,
};
//dword bit optionÀ¸·Î ¹Ù²ÙÀÚ
struct sChatOption
{
BOOL bOption[CTO_COUNT];
};
class CChatManager
{
protected:
BOOL m_bPause;
sChatOption m_ChatOption;
CChatDialog* m_pChatDialog;
char* m_pChatMsg[MAX_CHATMSGNUM];
char m_NULL; //äÆÃ ¸Þ¼¼Áö°¡ ¾ø´Â ¹øÈ£Àϰæ¿ì ¸®ÅÏÇϱâÀ§ÇÑ ÅÛÇÁ¸â¹ö
//---
char m_strLastName[MAX_NAME_LENGTH+2];
//----
cPtrList m_ListChat[MAX_CHAT_COUNT];
//----
DWORD m_dwLastChatTime;
protected:
void LoadChatMsg();
// BOOL LoadOption( LPCTSTR strPath );
// BOOL SaveOption( LPCTSTR strPath );
// void SetDefaultOption();
void PrintMsg( int nClass, char* msg );
public:
CChatManager();
virtual ~CChatManager();
////MAKESINGLETON(CChatManager);
void Init();
void Release();
// void Process( CKeyboard* keyInfo );
void MsgProc( UINT msg, WPARAM wParam );
// void LoadUserOption();
// void SaveUserOption();
void SetOption( sChatOption* pChatOption );
sChatOption* GetOption() { return &m_ChatOption; }
// void AddMsg( int nClass, int nMsgNum, ... );
// CTC_OPERATOR, CTC_GENERALCHAT, CTC_PARTYCHAT, CTC_GUILDCHAT, CTC_WHISPER, CTC_ATTACK, CTC_ATTACKED, CTC_DEFENCE, CTC_DEFENCED, CTC_KILLED, CTC_MPWARNING, CTC_HPWARNING, CTC_GETITEM, CTC_GETMONEY, CTC_SYSMSG, CTC_TOWHOLE, CTC_TOPARTY, CTC_TOMUNPA,
// void AddMsg( int nClass, int PredefinedMsg, ... );
void AddMsg( int nClass, char* str, ... );
char* GetChatMsg( int nMsgNum );
void NetworkMsgParse( BYTE Protocol, void* pMsg );
void SetPause( BOOL bPause ) { m_bPause = bPause; }
void SetChatDialog( CChatDialog* pChatDlg ); //À©µµ¸Þ´ÏÁ®°¡ dlg¸¸µé¶§ ¼¼ÆÃÇØÁÙ°ÍÀÌ´Ù.
void OnInputChatMsg( char* str );
// void ChatMsgParse( char* str );
void SetAutoWhisper();
void AddChatMsg( BYTE ChatLimit, DWORD MsgColor, char* str );
void AddChatMsgAll( DWORD MsgColor, char* str );
//---------
void SaveChatList();
void RestoreChatList();
void ReleaseChatList();
void AddMsgToList( BYTE ChatLimit, DWORD MsgColor, char* str );
void AddMsgAllToList( DWORD MsgColor, char* str );
//----------
};
EXTERNGLOBALTON(CChatManager)
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -