DragonNest/Server/ServerCommon/DNReplaceString.h

81 lines
2.5 KiB
C
Raw Normal View History

2024-12-19 09:48:26 +08:00
#pragma once
class DNReplaceString
{
public:
struct __StaticReplaceStringInfo
{
enum
{
user_nick = 1,
user_class,
monster,
npc,
item,
skill,
map
};
int nType;
std::wstring szKey;
__StaticReplaceStringInfo(int type, const WCHAR* wszKey)
{
nType = type;
szKey = wszKey;
}
};
struct DynamicReplaceStringInfo
{
enum
{
STRING = 1,
INT,
};
char cValueType;
std::wstring szKey;
int nValue;
};
DNReplaceString();
virtual ~DNReplaceString();
// <20><><EFBFBD>ڿ<EFBFBD><DABF><EFBFBD> ġȯ<C4A1>ؼ<EFBFBD> <20>ϼ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ش<EFBFBD>.
// ReplaceStaticString <20><> <20><><EFBFBD><EFBFBD> ȣ<><C8A3><EFBFBD>ؼ<EFBFBD> <20≯<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ġȯ<C4A1><C8AF> <20><><EFBFBD><EFBFBD><EFBFBD>ְ<EFBFBD>
// ReplaceDynamicString <20><> ȣ<><C8A3><EFBFBD>ؼ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ġȯ<C4A1><C8AF> <20><><EFBFBD>ش<EFBFBD>. -_-;
#if defined(_SERVER) &&defined(PRE_ADD_MULTILANGUAGE)
bool Relpace(IN OUT std::wstring& str, std::vector<DynamicReplaceStringInfo>& info, MultiLanguage::SupportLanguage::eSupportLanguage eNation);
// 10<31><30> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20≯<EFBFBD>
// {%monster:10} <20><> <20><><EFBFBD><EFBFBD> <20≯<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ÿ<><C5B8><EFBFBD><EFBFBD> <20><>Ʈ<EFBFBD><C6AE><EFBFBD><EFBFBD> ġȯ <20><><EFBFBD>ش<EFBFBD>.
void ReplaceStaticString(IN OUT std::wstring& str, MultiLanguage::SupportLanguage::eSupportLanguage eNation);
// uistring <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ǿ<EFBFBD><C7BE>մ<EFBFBD> <20>ε<EFBFBD><CEB5><EFBFBD> == aaa <20><><EFBFBD><EFBFBD> <20>ܺο<DCBA><CEBF><EFBFBD> <20><><EFBFBD><EFBFBD>
// {%aaa} <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ÿ<><C5B8><EFBFBD><EFBFBD> <20><>Ʈ<EFBFBD><C6AE><EFBFBD><EFBFBD> ġȯ <20><><EFBFBD>ش<EFBFBD>.
void ReplaceDynamicString(IN OUT std::wstring& str, std::vector<DynamicReplaceStringInfo>& info, MultiLanguage::SupportLanguage::eSupportLanguage eNation);
#else //#if defined(_SERVER) &&defined(PRE_ADD_MULTILANGUAGE)
bool Relpace(IN OUT std::wstring& str, std::vector<DynamicReplaceStringInfo>& info);
// 10<31><30> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20≯<EFBFBD>
// {%monster:10} <20><> <20><><EFBFBD><EFBFBD> <20≯<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ÿ<><C5B8><EFBFBD><EFBFBD> <20><>Ʈ<EFBFBD><C6AE><EFBFBD><EFBFBD> ġȯ <20><><EFBFBD>ش<EFBFBD>.
void ReplaceStaticString(IN OUT std::wstring& str);
// uistring <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ǿ<EFBFBD><C7BE>մ<EFBFBD> <20>ε<EFBFBD><CEB5><EFBFBD> == aaa <20><><EFBFBD><EFBFBD> <20>ܺο<DCBA><CEBF><EFBFBD> <20><><EFBFBD><EFBFBD>
// {%aaa} <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ÿ<><C5B8><EFBFBD><EFBFBD> <20><>Ʈ<EFBFBD><C6AE><EFBFBD><EFBFBD> ġȯ <20><><EFBFBD>ش<EFBFBD>.
void ReplaceDynamicString(IN OUT std::wstring& str, std::vector<DynamicReplaceStringInfo>& info);
#endif //#if defined(_SERVER) &&defined(PRE_ADD_MULTILANGUAGE)
private:
#if defined(_SERVER) &&defined(PRE_ADD_MULTILANGUAGE)
std::wstring _GetStaticString(int nType, std::vector<std::wstring>& tokens, MultiLanguage::SupportLanguage::eSupportLanguage eNation);
std::wstring _GetString(int nStringID, MultiLanguage::SupportLanguage::eSupportLanguage eNation);
#else //#if defined(_SERVER) &&defined(PRE_ADD_MULTILANGUAGE)
std::wstring _GetStaticString(int nType, std::vector<std::wstring>& tokens);
std::wstring _GetString(int nStringID);
#endif //#if defined(_SERVER) &&defined(PRE_ADD_MULTILANGUAGE)
std::vector<__StaticReplaceStringInfo> m_StaticReplaceList;
};
extern DNReplaceString g_ReplaceString;