UiChatPhrase.h
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:3k
源码类别:

模拟服务器

开发平台:

C/C++

  1. /*****************************************************************************************
  2. // 界面--聊天快捷输入短语
  3. // Copyright : Kingsoft 2003
  4. // Author :   Wooy(Wu yue)
  5. // CreateTime: 2003-3-23
  6. ------------------------------------------------------------------------------------------
  7. *****************************************************************************************/
  8. #pragma once
  9. #define MAX_PHRASE_COUNT 10
  10. class KUiChatPhrase
  11. {
  12. public:
  13. KUiChatPhrase();
  14. ~KUiChatPhrase();
  15. int GetPhrase(int nIndex, char* pszPhrase);
  16. int SetPhrase(int nIndex, char* pszPhrase, int nLen);
  17. int GetPhraseCount();
  18. int SavePrivateSetting(KIniFile* pFile, LPCSTR lpSection, int nStart);
  19. void ClearAllPhrase();
  20. enum EMOTE_TYPE
  21. {
  22. EMOTE_T_PHRASE = 0,
  23. EMOTE_T_MENU,
  24. };
  25. //载入所有聊天动作文件
  26. int     LoadEntireEmote();
  27. //设置聊天动作,有给出index的就改index的,没有就根据Cmd寻找要替换的
  28. int     SetEmote(char *szCmd, char *szName, char *szStringTarget, char *szStringSelf, int nIndex = -1);
  29. //
  30. int     GetEmoteCount(EMOTE_TYPE eType);
  31. //根据命令获取一个动作描述(pBuff),返回描述长度,这里是包括了MENU和PHRASE的
  32. int     GetEmote(const char *szCmd, char *pBuff, int nBuffLen, int nType = 0);
  33. //根据索引获取一个动作描述(pBuff),返回描述长度,,这里是包括了MENU和PHRASE的
  34. int     GetEmote(int nIndex, char *pBuff, int nBuffLen, int nType = 0);
  35. //获取一个用于菜单上的动作描述(pBuff),返回描述长度,仅仅MENU
  36. int     GetMenuEmote(const char *szCmd, char *pBuff, int nBuffLen, int nType = 0);
  37. int     GetMenuEmote(int nIndex, char *pBuff, int nBuffLen, int nType = 0);
  38. //取出指定索引的动作名字
  39. int     GetMenuEmoteName(int nIndex, char *pBuff, int nBuffLen);
  40. //制作字符串
  41. int     ConvertEmoteString(char *szString, int nStringLen, const char *szMyName, const char *szTarName);
  42. //把读取到的Emote信息构造进去Shortcut系统中的函数别名表
  43. int     ConstructFunctionAlias();
  44. private:
  45. struct  EMOTE_PHRASE
  46. {
  47. char    szName[16];
  48. int     nNameLen;
  49. char    szString[128];
  50. int     nStringLen;
  51. char    szStringMe[128];
  52. int     nStringMeLen;
  53. char    szCmd[64];
  54. } *m_pEmotePhrase, *m_pMenuEmote;
  55. int     LoadEmotePhrase(KIniFile *pIni);
  56. int     LoadMenuEmote(KIniFile *pIni);
  57. int     HandleLoad(KIniFile *pIni, EMOTE_PHRASE *pData, int nCount, const char *szSection);
  58. int     FindEmote(EMOTE_TYPE eType, const char *szCmd);
  59. private:
  60. struct CHAT_PHRASE
  61. {
  62. char szString[64];
  63. int nStringLen;
  64. } m_PhraseList[MAX_PHRASE_COUNT];
  65. int m_nEmotePhraseCount;
  66. int m_nMenuEmoteCount;
  67. unsigned int m_uMyNameColor;
  68. unsigned int m_uTargetColor;
  69. };
  70. extern KUiChatPhrase g_UiChatPhrase;