#pragma once #ifdef _NA_000000_20140120_SMART_NPC_SYSTEM // // º¸Åë uiµéÀº ´ÙÀ̾ó·Î±×µéÀÌ ¸Å´ÏÀú¿¡ µî·ÏµÇ°í ¸Å´ÏÀú°¡ ´ÙÀ̾ó·Î±×¸¦ ÆÄ±«½ÃÅ´. // ·¹Áö½ºÅÍ ½ÃÄѳõ°í ¾²ÀÏ ¶§ ·Îµå ÇÒ ¼ö ÀÖ°Ô µÇ¾îÀÖÀ½. (¹Ì¸® Ű¿Í ÆÄÀϸíÀ» ¼¼ÆÃÇØ³õÀ½, µî·Ï¸¸ ÇØ³õÀ½) (¹Ì¸® ¸ð¾çÀÌ Á¤ÀÇµÈ ÇüÅÂ) // Áö´ÉÇüui ´Â °¢°¢ ¸ð¾ç ŸÀÔº°·Î »ý¼ºµÇ´Ï±î Çѹø »ý¼ºÇسõ°í ¾²±â¿£ °³¼ö°¡ ¸¹¾ÆÁö¹Ç·Î ºñÈ¿À²ÀûÀÓ // ÇÊ¿äÇÒ¶§ »ý¼º½Ã۰í, ¾²°í³­µÚ ¹Ù·Î ÇØÁ¦ÇÏ´Â°Ô ÁÁÀ½ struct IM_SMARTNPCDIALOG_MANAGER { static const DWORD SMARTNPCDIALOG_MENU; static const DWORD SMARTNPCDIALOG_REPLY; }; enum SmartDialogType { SmartDialogType_Menu, SmartDialogType_Reply, SmartDialogType_Max }; enum SmartDialogSubType { SmartDialogSubType_Ok = 1, SmartDialogSubType_OkNo, SmartDialogSubType_OkNoCancle, SmartDialogSubType_Edit, SmartDialogSubType_Slot, SmartDialogSubType_SlotInput, SmartDialogSubType_ForceOk, SmartDialogSubType_Max }; class uiSmartNpcDialog; class uiSmartNpcDialogMan : public Singleton { public: enum { MaxMenuButton = 6, MaxReplyButton = 3 }; uiSmartNpcDialogMan(); ~uiSmartNpcDialogMan(); uiSmartNpcDialog* ParserSmartDialogPacket(SmartDialogType type, CHAR* data_); // ÀÛ¾÷µÇ¸é ¹ØÀ¸·ç uiSmartNpcDialog* CreateSmartNpcDialog(SmartDialogType type, BYTE sub_type); private: BOOL CreateSmartDialog(DWORD dialog_key); uiSmartNpcDialog* CreateSmartDialogTypeMenu(BYTE sub_type, BYTE button_count); uiSmartNpcDialog* CreateSmartDialogTypeReply(BYTE sub_type); }; #endif //_NA_000000_20140120_SMART_NPC_SYSTEM