我使用 mmorpg,我正在创建一个名为 chatlink 的系统。在这个系统上,当玩家在物品上按 ctrl 时,该物品会在聊天中链接,因此当它发送时,所有收到聊天消息的玩家都可以点击句子的那部分,并且会出现一个带有物品规格的窗口向上。
考虑以下情况:
玩家:嘿,我在卖<ItemA>
和<Scale Boots>
。
我必须在一个类上存储以下内容,(<
位置开始),(>
位置结束),项目名称颜色,项目,(项目通过 void* 指针存储)。我有以下课程:
class chatitem
{
public:
chatitem();
~chatitem();
u_long m_uStartPos;
u_long m_uEndPos;
DWORD m_dwColor;
void* m_pItemElem;
};
我想将它存储在地图上:
map<unsigned int, chatitem*>m_chatItem
哪个 unsigned 是输入它的聊天行的 id。问题是每个句子最多可以存储 3 个项目。我考虑了以下几点:
class CChatItem
{
public:
CChatItem();
~CChatItem();
u_long m_uStartPos[3];
u_long m_uEndPos[3];
DWORD m_dwColor[3];
void* m_pItemElem[3];
};
或复制如下:
u_long m_uStartPos, u_long m_uStartPos2, u_long m_uStartPos3;
但我不想同时使用它们,所以有什么建议吗?