Advertisement
Guest User

Untitled

a guest
Sep 9th, 2017
192
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 74.42 KB | None | 0 0
  1. ##
  2. ## Interface
  3. ##
  4. import constInfo
  5. import systemSetting
  6. import wndMgr
  7. import chat
  8. import app
  9. import player
  10. import uiTaskBar
  11. import uiCharacter
  12. import uiInventory
  13. import uiDragonSoul
  14. import uiChat
  15. import uiMessenger
  16. import guild
  17. import net
  18. import ui
  19. import uiHelp
  20. import uiWhisper
  21. import uiPointReset
  22. import uiShop
  23. import uiExchange
  24. import uiSystem
  25. import uiRestart
  26. import uiToolTip
  27. import uiMiniMap
  28. import uiParty
  29. import uiSafebox
  30. import uiGuild
  31. import uiQuest
  32. import uiPrivateShopBuilder
  33. import uiCommon
  34. import uiRefine
  35. import uiEquipmentDialog
  36. import uiGameButton
  37. import uiTip
  38. import uiCube
  39. import uiCards
  40. import miniMap
  41. # ACCESSORY_REFINE_ADD_METIN_STONE
  42. import uiselectitem
  43. # END_OF_ACCESSORY_REFINE_ADD_METIN_STONE
  44. import uiScriptLocale
  45. #ifdef ACHIVEMENT_SYSTEM
  46. import uiAchievements
  47. #endif
  48. if app.TOURNAMENT_PVP_SYSTEM:
  49.     import uitournament
  50.  
  51. import event
  52. import localeInfo
  53. import uiAttrTransfer
  54. if app.ENABLE_SASH_SYSTEM:
  55.     import uisash
  56.  
  57. IsQBHide = 0
  58. IsWhisperHide = 0
  59. hizliekipman = 0
  60. Botacik = 0
  61. class Interface(object):
  62.     CHARACTER_STATUS_TAB = 1
  63.     CHARACTER_SKILL_TAB = 2
  64.     def __init__(self):
  65.         systemSetting.SetInterfaceHandler(self)
  66.         self.windowOpenPosition = 0
  67.         self.dlgWhisperWithoutTarget = None
  68.         self.inputDialog = None
  69.         self.tipBoard = None
  70.         self.bigBoard = None
  71.     #ifdef OFFLINE_SHOP
  72.         self.wndGiftBox = None
  73.     #endif
  74.  
  75.         # ITEM_MALL
  76.         self.mallPageDlg = None
  77.         # END_OF_ITEM_MALL
  78.  
  79.         self.wndWeb = None
  80.         self.wndTaskBar = None
  81.         self.wndCharacter = None
  82.         self.wndInventory = None
  83.         self.wndExpandedTaskBar = None
  84.         self.wndDragonSoul = None
  85.         self.wndDragonSoulRefine = None
  86.         self.wndChat = None
  87.         self.wndMessenger = None
  88.         self.wndMiniMap = None
  89.         self.wndGuild = None
  90.         self.wndGuildBuilding = None
  91.  
  92.         self.listGMName = {}
  93.         self.wndQuestWindow = {}
  94.         self.wndQuestWindowNewKey = 0
  95.         self.privateShopAdvertisementBoardDict = {}
  96.         self.guildScoreBoardDict = {}
  97.         self.equipmentDialogDict = {}
  98.         event.SetInterfaceWindow(self)
  99.  
  100.     def __del__(self):
  101.         systemSetting.DestroyInterfaceHandler()
  102.         event.SetInterfaceWindow(None)
  103.  
  104.     def SetStream(self, stream):
  105.         self.stream = stream
  106.  
  107.     ################################
  108.     ## Make Windows & Dialogs
  109.     def __MakeUICurtain(self):
  110.         wndUICurtain = ui.Bar("TOP_MOST")
  111.         wndUICurtain.SetSize(wndMgr.GetScreenWidth(), wndMgr.GetScreenHeight())
  112.         wndUICurtain.SetColor(0x77000000)
  113.         wndUICurtain.Hide()
  114.         self.wndUICurtain = wndUICurtain
  115.  
  116.     def __MakeMessengerWindow(self):
  117.         self.wndMessenger = uiMessenger.MessengerWindow()
  118.  
  119.         from _weakref import proxy
  120.         self.wndMessenger.SetWhisperButtonEvent(lambda n,i=proxy(self):i.OpenWhisperDialog(n))
  121.         self.wndMessenger.SetGuildButtonEvent(ui.__mem_func__(self.ToggleGuildWindow))
  122.  
  123.     def __MakeGuildWindow(self):
  124.         self.wndGuild = uiGuild.GuildWindow()
  125.  
  126.     def __MakeChatWindow(self):
  127.        
  128.         wndChat = uiChat.ChatWindow()
  129.        
  130.         wndChat.SetSize(wndChat.CHAT_WINDOW_WIDTH, 0)
  131.         wndChat.SetPosition(wndMgr.GetScreenWidth()/2 - wndChat.CHAT_WINDOW_WIDTH/2, wndMgr.GetScreenHeight() - wndChat.EDIT_LINE_HEIGHT - 37)
  132.         wndChat.SetHeight(200)
  133.         wndChat.Refresh()
  134.         wndChat.Show()
  135.  
  136.         self.wndChat = wndChat
  137.         self.wndChat.BindInterface(self)
  138.         self.wndChat.SetSendWhisperEvent(ui.__mem_func__(self.OpenWhisperDialogWithoutTarget))
  139.         self.wndChat.SetOpenChatLogEvent(ui.__mem_func__(self.ToggleChatLogWindow))
  140.  
  141.     def __MakeTaskBar(self):
  142.         wndTaskBar = uiTaskBar.TaskBar()
  143.         wndTaskBar.LoadWindow()
  144.  
  145. #ifdef OFFLINE_SHOP
  146.         import uiGift
  147.         wndGiftBox=uiGift.GiftDialog()
  148.         wndGiftBox.Hide()
  149.         self.wndGiftBox=wndGiftBox
  150. #endif
  151.  
  152.         self.wndTaskBar = wndTaskBar
  153.         self.wndTaskBar.SetToggleButtonEvent(uiTaskBar.TaskBar.BUTTON_CHARACTER, ui.__mem_func__(self.ToggleCharacterWindowStatusPage))
  154.         self.wndTaskBar.SetToggleButtonEvent(uiTaskBar.TaskBar.BUTTON_INVENTORY, ui.__mem_func__(self.ToggleInventoryWindow))
  155.         self.wndTaskBar.SetToggleButtonEvent(uiTaskBar.TaskBar.BUTTON_MESSENGER, ui.__mem_func__(self.ToggleMessenger))
  156.         self.wndTaskBar.SetToggleButtonEvent(uiTaskBar.TaskBar.BUTTON_SYSTEM, ui.__mem_func__(self.ToggleSystemDialog))
  157.         if uiTaskBar.TaskBar.IS_EXPANDED:
  158.             self.wndTaskBar.SetToggleButtonEvent(uiTaskBar.TaskBar.BUTTON_EXPAND, ui.__mem_func__(self.ToggleExpandedButton))
  159.             self.wndExpandedTaskBar = uiTaskBar.ExpandedTaskBar()
  160.             self.wndExpandedTaskBar.LoadWindow()
  161.             self.wndExpandedTaskBar.SetToggleButtonEvent(uiTaskBar.ExpandedTaskBar.BUTTON_PET_GUI, ui.__mem_func__(self.TogglePetMain))
  162.  
  163.         else:
  164.             self.wndTaskBar.SetToggleButtonEvent(uiTaskBar.TaskBar.BUTTON_CHAT, ui.__mem_func__(self.ToggleChat))
  165.        
  166.         self.wndEnergyBar = None
  167.         import app
  168.         if app.ENABLE_ENERGY_SYSTEM:
  169.             wndEnergyBar = uiTaskBar.EnergyBar()
  170.             wndEnergyBar.LoadWindow()
  171.             self.wndEnergyBar = wndEnergyBar   
  172.  
  173.     def __MakeParty(self):
  174.         wndParty = uiParty.PartyWindow()
  175.         wndParty.Hide()
  176.         self.wndParty = wndParty
  177.  
  178.     def __MakeGameButtonWindow(self):
  179.         wndGameButton = uiGameButton.GameButtonWindow()
  180.         wndGameButton.SetTop()
  181.         wndGameButton.Show()
  182.         wndGameButton.SetButtonEvent("STATUS", ui.__mem_func__(self.__OnClickStatusPlusButton))
  183.         wndGameButton.SetButtonEvent("SKILL", ui.__mem_func__(self.__OnClickSkillPlusButton))
  184.         wndGameButton.SetButtonEvent("QUEST", ui.__mem_func__(self.__OnClickQuestButton))
  185.         wndGameButton.SetButtonEvent("HELP", ui.__mem_func__(self.__OnClickHelpButton))
  186.         wndGameButton.SetButtonEvent("BUILD", ui.__mem_func__(self.__OnClickBuildButton))
  187.     #ifdef OFFLINE_SHOP
  188.         wndGameButton.SetButtonEvent("GIFT", ui.__mem_func__(self.__OnClickGiftButton))
  189.     #endif
  190.  
  191.         self.wndGameButton = wndGameButton
  192.  
  193.     def __IsChatOpen(self):
  194.         return TRUE
  195.        
  196.     def __MakeWindows(self):
  197.         wndCharacter = uiCharacter.CharacterWindow()
  198.         wndInventory = uiInventory.InventoryWindow()
  199.         wndInventory.BindInterfaceClass(self)
  200.         if app.ENABLE_DRAGON_SOUL_SYSTEM:
  201.             wndDragonSoul = uiDragonSoul.DragonSoulWindow()
  202.             wndDragonSoulRefine = uiDragonSoul.DragonSoulRefineWindow()
  203.         else:
  204.             wndDragonSoul = None
  205.             wndDragonSoulRefine = None
  206.  
  207.         wndMiniMap = uiMiniMap.MiniMap()
  208.         wndSafebox = uiSafebox.SafeboxWindow()
  209.        
  210.         # ITEM_MALL
  211.         wndMall = uiSafebox.MallWindow()
  212.         self.wndMall = wndMall
  213.         # END_OF_ITEM_MALL
  214.  
  215.         wndChatLog = uiChat.ChatLogWindow()
  216.         wndChatLog.BindInterface(self)
  217.        
  218.         self.wndCharacter = wndCharacter
  219.         self.wndInventory = wndInventory
  220.         self.wndDragonSoul = wndDragonSoul
  221.         self.wndDragonSoulRefine = wndDragonSoulRefine
  222.         self.wndMiniMap = wndMiniMap
  223.         self.wndSafebox = wndSafebox
  224.         self.wndChatLog = wndChatLog
  225.        
  226.         if app.ENABLE_DRAGON_SOUL_SYSTEM:
  227.             self.wndDragonSoul.SetDragonSoulRefineWindow(self.wndDragonSoulRefine)
  228.             self.wndDragonSoulRefine.SetInventoryWindows(self.wndInventory, self.wndDragonSoul)
  229.             self.wndInventory.SetDragonSoulRefineWindow(self.wndDragonSoulRefine)
  230.  
  231.     def __MakeDialogs(self):
  232.         self.dlgExchange = uiExchange.ExchangeDialog()
  233.         self.dlgExchange.LoadDialog()
  234.         self.dlgExchange.SetCenterPosition()
  235.         self.dlgExchange.Hide()
  236.  
  237.         self.dlgPointReset = uiPointReset.PointResetDialog()
  238.         self.dlgPointReset.LoadDialog()
  239.         self.dlgPointReset.Hide()
  240.  
  241.         self.dlgShop = uiShop.ShopDialog()
  242.         self.dlgShop.LoadDialog()
  243.         self.dlgShop.Hide()
  244.  
  245.         self.dlgRestart = uiRestart.RestartDialog()
  246.         self.dlgRestart.LoadDialog()
  247.         self.dlgRestart.Hide()
  248.  
  249.         self.dlgSystem = uiSystem.SystemDialog(self.stream)
  250.         self.dlgSystem.LoadDialog()
  251.         self.dlgSystem.SetOpenHelpWindowEvent(ui.__mem_func__(self.OpenHelpWindow))
  252.  
  253.         self.dlgSystem.Hide()
  254.  
  255.         self.dlgPassword = uiSafebox.PasswordDialog()
  256.         self.dlgPassword.Hide()
  257.  
  258.         self.hyperlinkItemTooltip = uiToolTip.HyperlinkItemToolTip()
  259.         self.hyperlinkItemTooltip.Hide()
  260.  
  261.         self.tooltipItem = uiToolTip.ItemToolTip()
  262.         self.tooltipItem.Hide()
  263.  
  264.         self.tooltipSkill = uiToolTip.SkillToolTip()
  265.         self.tooltipSkill.Hide()
  266.  
  267.         self.privateShopBuilder = uiPrivateShopBuilder.PrivateShopBuilder()
  268.         self.privateShopBuilder.Hide()
  269.  
  270.         self.dlgRefineNew = uiRefine.RefineDialogNew()
  271.         self.dlgRefineNew.Hide()
  272. #ifdef ACHIVEMENT_SYSTEM
  273.         self.wndAchievements = uiAchievements.AchievementWindow()
  274.         self.wndAchievements.Hide()
  275. #endif
  276.  
  277.     def __MakeHelpWindow(self):
  278.         self.wndHelp = uiHelp.HelpWindow()
  279.         self.wndHelp.LoadDialog()
  280.         self.wndHelp.SetCloseEvent(ui.__mem_func__(self.CloseHelpWindow))
  281.         self.wndHelp.Hide()
  282.  
  283.     def __MakeTipBoard(self):
  284.         self.tipBoard = uiTip.TipBoard()
  285.         self.tipBoard.Hide()
  286.  
  287.         self.bigBoard = uiTip.BigBoard()
  288.         self.bigBoard.Hide()
  289.  
  290.     def __MakeWebWindow(self):
  291.         if constInfo.IN_GAME_SHOP_ENABLE:
  292.             import uiWeb
  293.             self.wndWeb = uiWeb.WebWindow()
  294.             self.wndWeb.LoadWindow()
  295.             self.wndWeb.Hide()
  296.  
  297.     def __MakeAttrTransferWindow(self):
  298.         self.wndAttrTransfer = uiAttrTransfer.TransferWindow()
  299.         self.wndAttrTransfer.LoadWindow()
  300.         self.wndAttrTransfer.Hide()
  301.  
  302.     if app.ENABLE_SASH_SYSTEM:
  303.         def __MakeSashWindow(self):
  304.             self.wndSashCombine = uisash.CombineWindow()
  305.             self.wndSashCombine.LoadWindow()
  306.             self.wndSashCombine.Hide()
  307.            
  308.             self.wndSashAbsorption = uisash.AbsorbWindow()
  309.             self.wndSashAbsorption.LoadWindow()
  310.             self.wndSashAbsorption.Hide()
  311.            
  312.             if self.wndInventory:
  313.                 self.wndInventory.SetSashWindow(self.wndSashCombine, self.wndSashAbsorption)
  314.  
  315.     def __MakeCubeWindow(self):
  316.         self.wndCube = uiCube.CubeWindow()
  317.         self.wndCube.LoadWindow()
  318.         self.wndCube.Hide()
  319.  
  320.     def __MakeCubeResultWindow(self):
  321.         self.wndCubeResult = uiCube.CubeResultWindow()
  322.         self.wndCubeResult.LoadWindow()
  323.         self.wndCubeResult.Hide()
  324.  
  325.     if app.TOURNAMENT_PVP_SYSTEM:
  326.         def __MakeTournamentWindow(self):
  327.             self.wndTournament = uitournament.Window()
  328.             self.wndTournament.Initialize()
  329.             self.wndTournament.Hide()
  330.            
  331.         def AddTournamentResultWindow(self, leftTime, membersOnline_A, membersOnline_B, membersDead_A, membersDead_B, memberLives):
  332.             self.wndTournament.Append([int(leftTime), str(membersOnline_A), str(membersOnline_B), str(membersDead_A), str(membersDead_B), str(memberLives)])
  333.  
  334.     def __MakeCardsInfoWindow(self):
  335.         self.wndCardsInfo = uiCards.CardsInfoWindow()
  336.         self.wndCardsInfo.LoadWindow()
  337.         self.wndCardsInfo.Hide()
  338.  
  339.     def __MakeCardsWindow(self):
  340.         self.wndCards = uiCards.CardsWindow()
  341.         self.wndCards.LoadWindow()
  342.         self.wndCards.Hide()
  343.  
  344.     def __MakeCardsIconWindow(self):
  345.         self.wndCardsIcon = uiCards.IngameWindow()
  346.         self.wndCardsIcon.LoadWindow()
  347.         self.wndCardsIcon.Hide()
  348.  
  349.     # ACCESSORY_REFINE_ADD_METIN_STONE
  350.     def __MakeItemSelectWindow(self):
  351.         self.wndItemSelect = uiselectitem.SelectItemWindow()
  352.         self.wndItemSelect.Hide()
  353.     # END_OF_ACCESSORY_REFINE_ADD_METIN_STONE
  354.                
  355.     def MakeInterface(self):
  356.         self.__MakeMessengerWindow()
  357.         self.__MakeGuildWindow()
  358.         self.__MakeChatWindow()
  359.         self.__MakeParty()
  360.         self.__MakeWindows()
  361.         self.__MakeDialogs()
  362.  
  363.         self.__MakeUICurtain()
  364.         self.__MakeTaskBar()
  365.         self.__MakeGameButtonWindow()
  366.         self.__MakeHelpWindow()
  367.         self.__MakeTipBoard()
  368.         self.__MakeWebWindow()
  369.         self.__MakeAttrTransferWindow()
  370.         if app.ENABLE_SASH_SYSTEM:
  371.             self.__MakeSashWindow()
  372.         self.__MakeCubeWindow()
  373.         self.__MakeCubeResultWindow()
  374.         if app.TOURNAMENT_PVP_SYSTEM:
  375.             self.__MakeTournamentWindow()
  376.         self.__MakeCardsInfoWindow()
  377.         self.__MakeCardsWindow()
  378.         self.__MakeCardsIconWindow()
  379.  
  380.         # ACCESSORY_REFINE_ADD_METIN_STONE
  381.         self.__MakeItemSelectWindow()
  382.         # END_OF_ACCESSORY_REFINE_ADD_METIN_STONE
  383.  
  384.         self.questButtonList = []
  385.         self.whisperButtonList = []
  386.         self.whisperDialogDict = {}
  387.         self.privateShopAdvertisementBoardDict = {}
  388.  
  389.         self.wndInventory.SetItemToolTip(self.tooltipItem)
  390.         if app.ENABLE_DRAGON_SOUL_SYSTEM:
  391.             self.wndDragonSoul.SetItemToolTip(self.tooltipItem)
  392.             self.wndDragonSoulRefine.SetItemToolTip(self.tooltipItem)
  393.         self.wndSafebox.SetItemToolTip(self.tooltipItem)
  394.         self.wndAttrTransfer.SetItemToolTip(self.tooltipItem)
  395.         if app.ENABLE_SASH_SYSTEM:
  396.             self.wndSashCombine.SetItemToolTip(self.tooltipItem)
  397.             self.wndSashAbsorption.SetItemToolTip(self.tooltipItem)
  398.         self.wndCube.SetItemToolTip(self.tooltipItem)
  399.         self.wndCubeResult.SetItemToolTip(self.tooltipItem)
  400.  
  401.         # ITEM_MALL
  402.         self.wndMall.SetItemToolTip(self.tooltipItem)
  403.         # END_OF_ITEM_MALL
  404.  
  405.         self.wndCharacter.SetSkillToolTip(self.tooltipSkill)
  406.         self.wndTaskBar.SetItemToolTip(self.tooltipItem)
  407.         self.wndTaskBar.SetSkillToolTip(self.tooltipSkill)
  408.         self.wndGuild.SetSkillToolTip(self.tooltipSkill)
  409.  
  410.         # ACCESSORY_REFINE_ADD_METIN_STONE
  411.         self.wndItemSelect.SetItemToolTip(self.tooltipItem)
  412.         # END_OF_ACCESSORY_REFINE_ADD_METIN_STONE
  413.  
  414.         self.dlgShop.SetItemToolTip(self.tooltipItem)
  415.         self.dlgExchange.SetItemToolTip(self.tooltipItem)
  416.         self.privateShopBuilder.SetItemToolTip(self.tooltipItem)
  417.  
  418.         self.__InitWhisper()
  419.         #self.DRAGON_SOUL_IS_QUALIFIED = FALSE
  420.  
  421.     def MakeHyperlinkTooltip(self, hyperlink):
  422.         tokens = hyperlink.split(":")
  423.         if tokens and len(tokens):
  424.             type = tokens[0]
  425.             if "item" == type:
  426.                 self.hyperlinkItemTooltip.SetHyperlinkItem(tokens)
  427.             elif "PM" == type:
  428.                 self.OpenWhisperDialog(str(tokens[1]))
  429.  
  430.     ## Make Windows & Dialogs
  431.     ################################
  432.  
  433.     def Close(self):
  434. #ifdef OFFLINE_SHOP
  435.         if self.wndGiftBox:
  436.             self.wndGiftBox.Clear()
  437.             self.wndGiftBox.Hide()
  438.             self.wndGiftBox.Destroy()
  439. #endif
  440.         if self.dlgWhisperWithoutTarget:
  441.             self.dlgWhisperWithoutTarget.Destroy()
  442.             del self.dlgWhisperWithoutTarget
  443.  
  444.         if uiQuest.QuestDialog.__dict__.has_key("QuestCurtain"):
  445.             uiQuest.QuestDialog.QuestCurtain.Close()
  446.  
  447.         if self.wndQuestWindow:
  448.             for key, eachQuestWindow in self.wndQuestWindow.items():
  449.                 eachQuestWindow.nextCurtainMode = -1
  450.                 eachQuestWindow.CloseSelf()
  451.                 eachQuestWindow = None
  452.         self.wndQuestWindow = {}
  453.  
  454.         if self.wndChat:
  455.             self.wndChat.Destroy()
  456.  
  457.         if self.wndTaskBar:
  458.             self.wndTaskBar.Destroy()
  459.        
  460.         if self.wndExpandedTaskBar:
  461.             self.wndExpandedTaskBar.Destroy()
  462.            
  463.         if self.wndEnergyBar:
  464.             self.wndEnergyBar.Destroy()
  465.  
  466.         if self.wndCharacter:
  467.             self.wndCharacter.Destroy()
  468.  
  469.         if self.wndInventory:
  470.             self.wndInventory.Destroy()
  471.            
  472.         if self.wndDragonSoul:
  473.             self.wndDragonSoul.Destroy()
  474.  
  475.         if self.wndDragonSoulRefine:
  476.             self.wndDragonSoulRefine.Destroy()
  477.  
  478.         if self.dlgExchange:
  479.             self.dlgExchange.Destroy()
  480.  
  481.         if self.dlgPointReset:
  482.             self.dlgPointReset.Destroy()
  483.  
  484.         if self.dlgShop:
  485.             self.dlgShop.Destroy()
  486.  
  487.         if self.dlgRestart:
  488.             self.dlgRestart.Destroy()
  489.  
  490.         if self.dlgSystem:
  491.             self.dlgSystem.Destroy()
  492.  
  493.         if self.dlgPassword:
  494.             self.dlgPassword.Destroy()
  495.  
  496.         if self.wndMiniMap:
  497.             self.wndMiniMap.Destroy()
  498.  
  499.         if self.wndSafebox:
  500.             self.wndSafebox.Destroy()
  501.  
  502.         if self.wndWeb:
  503.             self.wndWeb.Destroy()
  504.             self.wndWeb = None
  505.  
  506.         if self.wndMall:
  507.             self.wndMall.Destroy()
  508.  
  509.         if self.wndParty:
  510.             self.wndParty.Destroy()
  511.  
  512.         if self.wndHelp:
  513.             self.wndHelp.Destroy()
  514.  
  515.         if self.wndCardsInfo:
  516.             self.wndCardsInfo.Destroy()
  517.  
  518.         if self.wndCards:
  519.             self.wndCards.Destroy()
  520.  
  521.         if self.wndCardsIcon:
  522.             self.wndCardsIcon.Destroy()
  523.  
  524.         if self.wndAttrTransfer:
  525.             self.wndAttrTransfer.Destroy()
  526.  
  527.         if app.ENABLE_SASH_SYSTEM:
  528.             if self.wndSashCombine:
  529.                 self.wndSashCombine.Destroy()
  530.  
  531.             if self.wndSashAbsorption:
  532.                 self.wndSashAbsorption.Destroy()
  533.  
  534.         if self.wndCube:
  535.             self.wndCube.Destroy()
  536.            
  537.         if self.wndCubeResult:
  538.             self.wndCubeResult.Destroy()
  539.  
  540.         if self.wndMessenger:
  541.             self.wndMessenger.Destroy()
  542.  
  543.         if self.wndGuild:
  544.             self.wndGuild.Destroy()
  545.  
  546.         if self.privateShopBuilder:
  547.             self.privateShopBuilder.Destroy()
  548.  
  549.         if self.dlgRefineNew:
  550.             self.dlgRefineNew.Destroy()
  551.  
  552.         if self.wndGuildBuilding:
  553.             self.wndGuildBuilding.Destroy()
  554.  
  555.         if self.wndGameButton:
  556.             self.wndGameButton.Destroy()
  557.  
  558.         # ITEM_MALL
  559.         if self.mallPageDlg:
  560.             self.mallPageDlg.Destroy()
  561.         # END_OF_ITEM_MALL
  562.  
  563.         # ACCESSORY_REFINE_ADD_METIN_STONE
  564.         if self.wndItemSelect:
  565.             self.wndItemSelect.Destroy()
  566.         # END_OF_ACCESSORY_REFINE_ADD_METIN_STONE
  567. #ifdef ACHIVEMENT_SYSTEM
  568.         if self.wndAchievements:
  569.             self.wndAchievements.Destroy()
  570. #endif
  571.  
  572.         self.wndChatLog.Destroy()
  573.         for btn in self.questButtonList:
  574.             btn.SetEvent(0)
  575.         for btn in self.whisperButtonList:
  576.             btn.SetEvent(0)
  577.         for dlg in self.whisperDialogDict.itervalues():
  578.             dlg.Destroy()
  579.         for brd in self.guildScoreBoardDict.itervalues():
  580.             brd.Destroy()
  581.         for dlg in self.equipmentDialogDict.itervalues():
  582.             dlg.Destroy()
  583.  
  584.         # ITEM_MALL
  585.         del self.mallPageDlg
  586.         # END_OF_ITEM_MALL
  587.  
  588.         #ifdef OFFLINE_SHOP
  589.         del self.wndGiftBox
  590.         #endif
  591.  
  592.         del self.wndGuild
  593.         del self.wndMessenger
  594.         del self.wndUICurtain
  595.         del self.wndChat
  596.         del self.wndTaskBar
  597.         if self.wndExpandedTaskBar:
  598.             del self.wndExpandedTaskBar
  599.         del self.wndEnergyBar
  600.         del self.wndCharacter
  601.         del self.wndInventory
  602.         if self.wndDragonSoul:
  603.             del self.wndDragonSoul
  604.         if self.wndDragonSoulRefine:
  605.             del self.wndDragonSoulRefine
  606.         del self.dlgExchange
  607.         del self.dlgPointReset
  608.         del self.dlgShop
  609.         del self.dlgRestart
  610.         del self.dlgSystem
  611.         del self.dlgPassword
  612.         del self.hyperlinkItemTooltip
  613.         del self.tooltipItem
  614.         del self.tooltipSkill
  615.         del self.wndMiniMap
  616.         del self.wndSafebox
  617.         del self.wndMall
  618.         del self.wndParty
  619.         del self.wndHelp
  620.         if app.TOURNAMENT_PVP_SYSTEM:
  621.             del self.wndTournament
  622.         del self.wndCardsInfo
  623.         del self.wndCards
  624.         del self.wndCardsIcon
  625.         del self.wndAttrTransfer
  626.         if app.ENABLE_SASH_SYSTEM:
  627.             del self.wndSashCombine
  628.             del self.wndSashAbsorption
  629.         del self.wndCube
  630.         del self.wndCubeResult
  631.         del self.privateShopBuilder
  632.         del self.inputDialog
  633.         del self.wndChatLog
  634.         del self.dlgRefineNew
  635.         del self.wndGuildBuilding
  636.         del self.wndGameButton
  637.         del self.tipBoard
  638.         del self.bigBoard
  639.         del self.wndItemSelect
  640. #ifdef ACHIVEMENT_SYSTEM
  641.         del self.wndAchievements
  642. #endif
  643.  
  644.         self.questButtonList = []
  645.         self.whisperButtonList = []
  646.         self.whisperDialogDict = {}
  647.         self.privateShopAdvertisementBoardDict = {}
  648.         self.guildScoreBoardDict = {}
  649.         self.equipmentDialogDict = {}
  650.  
  651.         uiChat.DestroyChatInputSetWindow()
  652.  
  653.     ## Skill
  654.     def OnUseSkill(self, slotIndex, coolTime):
  655.         self.wndCharacter.OnUseSkill(slotIndex, coolTime)
  656.         self.wndTaskBar.OnUseSkill(slotIndex, coolTime)
  657.         self.wndGuild.OnUseSkill(slotIndex, coolTime)
  658.  
  659.     def OnActivateSkill(self, slotIndex):
  660.         self.wndCharacter.OnActivateSkill(slotIndex)
  661.         self.wndTaskBar.OnActivateSkill(slotIndex)
  662.  
  663.     def OnDeactivateSkill(self, slotIndex):
  664.         self.wndCharacter.OnDeactivateSkill(slotIndex)
  665.         self.wndTaskBar.OnDeactivateSkill(slotIndex)
  666.  
  667.     def OnChangeCurrentSkill(self, skillSlotNumber):
  668.         self.wndTaskBar.OnChangeCurrentSkill(skillSlotNumber)
  669.  
  670.     def SelectMouseButtonEvent(self, dir, event):
  671.         self.wndTaskBar.SelectMouseButtonEvent(dir, event)
  672.  
  673.     ## Refresh
  674.     def RefreshAlignment(self):
  675.         self.wndCharacter.RefreshAlignment()
  676.  
  677.     def RefreshStatus(self):
  678.         self.wndTaskBar.RefreshStatus()
  679.         self.wndCharacter.RefreshStatus()
  680.         self.wndInventory.RefreshStatus()
  681.         if self.wndEnergyBar:
  682.             self.wndEnergyBar.RefreshStatus()
  683.         if app.ENABLE_DRAGON_SOUL_SYSTEM:
  684.             self.wndDragonSoul.RefreshStatus()
  685.  
  686.     def RefreshStamina(self):
  687.         self.wndTaskBar.RefreshStamina()
  688.  
  689.     def RefreshSkill(self):
  690.         self.wndCharacter.RefreshSkill()
  691.         self.wndTaskBar.RefreshSkill()
  692.  
  693.     def RefreshInventory(self):
  694.         self.wndTaskBar.RefreshQuickSlot()
  695.         self.wndInventory.RefreshItemSlot()
  696.         if app.ENABLE_DRAGON_SOUL_SYSTEM:
  697.             self.wndDragonSoul.RefreshItemSlot()
  698.  
  699.     if app.ADD_INVENTORY:
  700.         def SetInventoryPageKilit(self):
  701.             if constInfo.envanter == 2:#3 envanter
  702.                 if player.GetEnvanter() == 0:#Hepsi kapali
  703.                     self.wndInventory.engelblack.Show()#open
  704.                     self.wndInventory.engelblackcl.Hide()
  705.                     self.wndInventory.engelblack2.Hide()
  706.                     self.wndInventory.engelblack2cl.Show()#close
  707.                     self.wndInventory.engelblack3.Hide()
  708.                     self.wndInventory.engelblack3cl.Show()
  709.                     self.wndInventory.engelblack4.Hide()
  710.                     self.wndInventory.engelblack4cl.Show()
  711.                     self.wndInventory.engelblack5.Hide()
  712.                     self.wndInventory.engelblack5cl.Show()
  713.                     self.wndInventory.engelblack6.Hide()
  714.                     self.wndInventory.engelblack6cl.Show()
  715.                     self.wndInventory.engelblack7.Hide()
  716.                     self.wndInventory.engelblack7cl.Show()
  717.                     self.wndInventory.engelblack8.Hide()
  718.                     self.wndInventory.engelblack8cl.Show()
  719.                     self.wndInventory.engelblack9.Hide()
  720.                     self.wndInventory.engelblack9cl.Show()
  721.                 elif player.GetEnvanter() == 1:# 1 tane acyk
  722.                     self.wndInventory.engelblack.Hide()#open
  723.                     self.wndInventory.engelblackcl.Hide()
  724.                     self.wndInventory.engelblack2.Show()
  725.                     self.wndInventory.engelblack2cl.Hide()#close
  726.                     self.wndInventory.engelblack3.Hide()
  727.                     self.wndInventory.engelblack3cl.Show()
  728.                     self.wndInventory.engelblack4.Hide()
  729.                     self.wndInventory.engelblack4cl.Show()
  730.                     self.wndInventory.engelblack5.Hide()
  731.                     self.wndInventory.engelblack5cl.Show()
  732.                     self.wndInventory.engelblack6.Hide()
  733.                     self.wndInventory.engelblack6cl.Show()
  734.                     self.wndInventory.engelblack7.Hide()
  735.                     self.wndInventory.engelblack7cl.Show()
  736.                     self.wndInventory.engelblack8.Hide()
  737.                     self.wndInventory.engelblack8cl.Show()
  738.                     self.wndInventory.engelblack9.Hide()
  739.                     self.wndInventory.engelblack9cl.Show()
  740.                 elif player.GetEnvanter() == 2:# 2 tane acyk
  741.                     self.wndInventory.engelblack.Hide()#open
  742.                     self.wndInventory.engelblackcl.Hide()#open
  743.                     self.wndInventory.engelblack2.Hide()
  744.                     self.wndInventory.engelblack2cl.Hide()#close
  745.                     self.wndInventory.engelblack3.Show()
  746.                     self.wndInventory.engelblack3cl.Hide()
  747.                     self.wndInventory.engelblack4.Hide()
  748.                     self.wndInventory.engelblack4cl.Show()
  749.                     self.wndInventory.engelblack5.Hide()
  750.                     self.wndInventory.engelblack5cl.Show()
  751.                     self.wndInventory.engelblack6.Hide()
  752.                     self.wndInventory.engelblack6cl.Show()
  753.                     self.wndInventory.engelblack7.Hide()
  754.                     self.wndInventory.engelblack7cl.Show()
  755.                     self.wndInventory.engelblack8.Hide()
  756.                     self.wndInventory.engelblack8cl.Show()
  757.                     self.wndInventory.engelblack9.Hide()
  758.                     self.wndInventory.engelblack9cl.Show()
  759.                 elif player.GetEnvanter() == 3:
  760.                     self.wndInventory.engelblack.Hide()#open
  761.                     self.wndInventory.engelblackcl.Hide()#open
  762.                     self.wndInventory.engelblack2.Hide()
  763.                     self.wndInventory.engelblack2cl.Hide()#close
  764.                     self.wndInventory.engelblack3.Hide()
  765.                     self.wndInventory.engelblack3cl.Hide()
  766.                     self.wndInventory.engelblack4.Show()###
  767.                     self.wndInventory.engelblack4cl.Hide()
  768.                     self.wndInventory.engelblack5.Hide()
  769.                     self.wndInventory.engelblack5cl.Show()
  770.                     self.wndInventory.engelblack6.Hide()
  771.                     self.wndInventory.engelblack6cl.Show()
  772.                     self.wndInventory.engelblack7.Hide()
  773.                     self.wndInventory.engelblack7cl.Show()
  774.                     self.wndInventory.engelblack8.Hide()
  775.                     self.wndInventory.engelblack8cl.Show()
  776.                     self.wndInventory.engelblack9.Hide()
  777.                     self.wndInventory.engelblack9cl.Show()
  778.                 elif player.GetEnvanter() == 4:
  779.                     self.wndInventory.engelblack.Hide()#open
  780.                     self.wndInventory.engelblackcl.Hide()#open
  781.                     self.wndInventory.engelblack2.Hide()
  782.                     self.wndInventory.engelblack2cl.Hide()#close
  783.                     self.wndInventory.engelblack3.Hide()
  784.                     self.wndInventory.engelblack3cl.Hide()
  785.                     self.wndInventory.engelblack4.Hide()###
  786.                     self.wndInventory.engelblack4cl.Hide()
  787.                     self.wndInventory.engelblack5.Show()
  788.                     self.wndInventory.engelblack5cl.Hide()
  789.                     self.wndInventory.engelblack6.Hide()
  790.                     self.wndInventory.engelblack6cl.Show()
  791.                     self.wndInventory.engelblack7.Hide()
  792.                     self.wndInventory.engelblack7cl.Show()
  793.                     self.wndInventory.engelblack8.Hide()
  794.                     self.wndInventory.engelblack8cl.Show()
  795.                     self.wndInventory.engelblack9.Hide()
  796.                     self.wndInventory.engelblack9cl.Show()
  797.                 elif player.GetEnvanter() == 5:
  798.                     self.wndInventory.engelblack.Hide()#open
  799.                     self.wndInventory.engelblackcl.Hide()#open
  800.                     self.wndInventory.engelblack2.Hide()
  801.                     self.wndInventory.engelblack2cl.Hide()#close
  802.                     self.wndInventory.engelblack3.Hide()
  803.                     self.wndInventory.engelblack3cl.Hide()
  804.                     self.wndInventory.engelblack4.Hide()###
  805.                     self.wndInventory.engelblack4cl.Hide()
  806.                     self.wndInventory.engelblack5.Hide()
  807.                     self.wndInventory.engelblack5cl.Hide()
  808.                     self.wndInventory.engelblack6.Show()#open
  809.                     self.wndInventory.engelblack6cl.Hide()
  810.                     self.wndInventory.engelblack7.Hide()
  811.                     self.wndInventory.engelblack7cl.Show()
  812.                     self.wndInventory.engelblack8.Hide()
  813.                     self.wndInventory.engelblack8cl.Show()
  814.                     self.wndInventory.engelblack9.Hide()
  815.                     self.wndInventory.engelblack9cl.Show()
  816.                 elif player.GetEnvanter() == 6:
  817.                     self.wndInventory.engelblack.Hide()#open
  818.                     self.wndInventory.engelblackcl.Hide()#open
  819.                     self.wndInventory.engelblack2.Hide()
  820.                     self.wndInventory.engelblack2cl.Hide()#close
  821.                     self.wndInventory.engelblack3.Hide()
  822.                     self.wndInventory.engelblack3cl.Hide()
  823.                     self.wndInventory.engelblack4.Hide()###
  824.                     self.wndInventory.engelblack4cl.Hide()
  825.                     self.wndInventory.engelblack5.Hide()
  826.                     self.wndInventory.engelblack5cl.Hide()
  827.                     self.wndInventory.engelblack6.Hide()#open
  828.                     self.wndInventory.engelblack6cl.Hide()
  829.                     self.wndInventory.engelblack7.Show()
  830.                     self.wndInventory.engelblack7cl.Hide()
  831.                     self.wndInventory.engelblack8.Hide()
  832.                     self.wndInventory.engelblack8cl.Show()
  833.                     self.wndInventory.engelblack9.Hide()
  834.                     self.wndInventory.engelblack9cl.Show()
  835.                 elif player.GetEnvanter() == 7:
  836.                     self.wndInventory.engelblack.Hide()#open
  837.                     self.wndInventory.engelblackcl.Hide()#open
  838.                     self.wndInventory.engelblack2.Hide()
  839.                     self.wndInventory.engelblack2cl.Hide()#close
  840.                     self.wndInventory.engelblack3.Hide()
  841.                     self.wndInventory.engelblack3cl.Hide()
  842.                     self.wndInventory.engelblack4.Hide()###
  843.                     self.wndInventory.engelblack4cl.Hide()
  844.                     self.wndInventory.engelblack5.Hide()
  845.                     self.wndInventory.engelblack5cl.Hide()
  846.                     self.wndInventory.engelblack6.Hide()#open
  847.                     self.wndInventory.engelblack6cl.Hide()
  848.                     self.wndInventory.engelblack7.Hide()
  849.                     self.wndInventory.engelblack7cl.Hide()
  850.                     self.wndInventory.engelblack8.Show()
  851.                     self.wndInventory.engelblack8cl.Hide()
  852.                     self.wndInventory.engelblack9.Hide()
  853.                     self.wndInventory.engelblack9cl.Show()
  854.                 elif player.GetEnvanter() == 8:
  855.                     self.wndInventory.engelblack.Hide()#open
  856.                     self.wndInventory.engelblackcl.Hide()#open
  857.                     self.wndInventory.engelblack2.Hide()
  858.                     self.wndInventory.engelblack2cl.Hide()#close
  859.                     self.wndInventory.engelblack3.Hide()
  860.                     self.wndInventory.engelblack3cl.Hide()
  861.                     self.wndInventory.engelblack4.Hide()###
  862.                     self.wndInventory.engelblack4cl.Hide()
  863.                     self.wndInventory.engelblack5.Hide()
  864.                     self.wndInventory.engelblack5cl.Hide()
  865.                     self.wndInventory.engelblack6.Hide()#open
  866.                     self.wndInventory.engelblack6cl.Hide()
  867.                     self.wndInventory.engelblack7.Hide()
  868.                     self.wndInventory.engelblack7cl.Hide()
  869.                     self.wndInventory.engelblack8.Hide()
  870.                     self.wndInventory.engelblack8cl.Hide()
  871.                     self.wndInventory.engelblack9.Show()
  872.                     self.wndInventory.engelblack9cl.Hide()
  873.                 elif player.GetEnvanter() == 9:
  874.                     self.wndInventory.engelblack.Hide()#open
  875.                     self.wndInventory.engelblackcl.Hide()#open
  876.                     self.wndInventory.engelblack2.Hide()
  877.                     self.wndInventory.engelblack2cl.Hide()#close
  878.                     self.wndInventory.engelblack3.Hide()
  879.                     self.wndInventory.engelblack3cl.Hide()
  880.                     self.wndInventory.engelblack4.Hide()###
  881.                     self.wndInventory.engelblack4cl.Hide()
  882.                     self.wndInventory.engelblack5.Hide()
  883.                     self.wndInventory.engelblack5cl.Hide()
  884.                     self.wndInventory.engelblack6.Hide()#open
  885.                     self.wndInventory.engelblack6cl.Hide()
  886.                     self.wndInventory.engelblack7.Hide()
  887.                     self.wndInventory.engelblack7cl.Hide()
  888.                     self.wndInventory.engelblack8.Hide()
  889.                     self.wndInventory.engelblack8cl.Hide()
  890.                     self.wndInventory.engelblack9.Hide()
  891.                     self.wndInventory.engelblack9cl.Hide()
  892.                 elif player.GetEnvanter() >= 10:
  893.                     self.wndInventory.engelblack.Hide()#open
  894.                     self.wndInventory.engelblackcl.Hide()#open
  895.                     self.wndInventory.engelblack2.Hide()
  896.                     self.wndInventory.engelblack2cl.Hide()#close
  897.                     self.wndInventory.engelblack3.Hide()
  898.                     self.wndInventory.engelblack3cl.Hide()
  899.                     self.wndInventory.engelblack4.Hide()###
  900.                     self.wndInventory.engelblack4cl.Hide()
  901.                     self.wndInventory.engelblack5.Hide()
  902.                     self.wndInventory.engelblack5cl.Hide()
  903.                     self.wndInventory.engelblack6.Hide()#open
  904.                     self.wndInventory.engelblack6cl.Hide()
  905.                     self.wndInventory.engelblack7.Hide()
  906.                     self.wndInventory.engelblack7cl.Hide()
  907.                     self.wndInventory.engelblack8.Hide()
  908.                     self.wndInventory.engelblack8cl.Hide()
  909.                     self.wndInventory.engelblack9.Hide()
  910.                     self.wndInventory.engelblack9cl.Hide()
  911.             elif constInfo.envanter == 3:
  912.                 if player.GetEnvanter() >= 0 and player.GetEnvanter() <= 8:
  913.                     self.wndInventory.engelblack.Hide()#open
  914.                     self.wndInventory.engelblackcl.Show()
  915.                     self.wndInventory.engelblack2.Hide()
  916.                     self.wndInventory.engelblack2cl.Show()#close
  917.                     self.wndInventory.engelblack3.Hide()
  918.                     self.wndInventory.engelblack3cl.Show()
  919.                     self.wndInventory.engelblack4.Hide()
  920.                     self.wndInventory.engelblack4cl.Show()
  921.                     self.wndInventory.engelblack5.Hide()
  922.                     self.wndInventory.engelblack5cl.Show()
  923.                     self.wndInventory.engelblack6.Hide()
  924.                     self.wndInventory.engelblack6cl.Show()
  925.                     self.wndInventory.engelblack7.Hide()
  926.                     self.wndInventory.engelblack7cl.Show()
  927.                     self.wndInventory.engelblack8.Hide()
  928.                     self.wndInventory.engelblack8cl.Show()
  929.                     self.wndInventory.engelblack9.Hide()
  930.                     self.wndInventory.engelblack9cl.Show()
  931.                 elif player.GetEnvanter() == 9:#Hepsi kapali
  932.                     self.wndInventory.engelblack.Show()#open
  933.                     self.wndInventory.engelblackcl.Hide()
  934.                     self.wndInventory.engelblack2.Hide()
  935.                     self.wndInventory.engelblack2cl.Show()#close
  936.                     self.wndInventory.engelblack3.Hide()
  937.                     self.wndInventory.engelblack3cl.Show()
  938.                     self.wndInventory.engelblack4.Hide()
  939.                     self.wndInventory.engelblack4cl.Show()
  940.                     self.wndInventory.engelblack5.Hide()
  941.                     self.wndInventory.engelblack5cl.Show()
  942.                     self.wndInventory.engelblack6.Hide()
  943.                     self.wndInventory.engelblack6cl.Show()
  944.                     self.wndInventory.engelblack7.Hide()
  945.                     self.wndInventory.engelblack7cl.Show()
  946.                     self.wndInventory.engelblack8.Hide()
  947.                     self.wndInventory.engelblack8cl.Show()
  948.                     self.wndInventory.engelblack9.Hide()
  949.                     self.wndInventory.engelblack9cl.Show()
  950.                 elif player.GetEnvanter() == 10:# 1 tane acyk
  951.                     self.wndInventory.engelblack.Hide()#open
  952.                     self.wndInventory.engelblackcl.Hide()
  953.                     self.wndInventory.engelblack2.Show()
  954.                     self.wndInventory.engelblack2cl.Hide()#close
  955.                     self.wndInventory.engelblack3.Hide()
  956.                     self.wndInventory.engelblack3cl.Show()
  957.                     self.wndInventory.engelblack4.Hide()
  958.                     self.wndInventory.engelblack4cl.Show()
  959.                     self.wndInventory.engelblack5.Hide()
  960.                     self.wndInventory.engelblack5cl.Show()
  961.                     self.wndInventory.engelblack6.Hide()
  962.                     self.wndInventory.engelblack6cl.Show()
  963.                     self.wndInventory.engelblack7.Hide()
  964.                     self.wndInventory.engelblack7cl.Show()
  965.                     self.wndInventory.engelblack8.Hide()
  966.                     self.wndInventory.engelblack8cl.Show()
  967.                     self.wndInventory.engelblack9.Hide()
  968.                     self.wndInventory.engelblack9cl.Show()
  969.                 elif player.GetEnvanter() == 11:# 2 tane acyk
  970.                     self.wndInventory.engelblack.Hide()#open
  971.                     self.wndInventory.engelblackcl.Hide()#open
  972.                     self.wndInventory.engelblack2.Hide()
  973.                     self.wndInventory.engelblack2cl.Hide()#close
  974.                     self.wndInventory.engelblack3.Show()
  975.                     self.wndInventory.engelblack3cl.Hide()
  976.                     self.wndInventory.engelblack4.Hide()
  977.                     self.wndInventory.engelblack4cl.Show()
  978.                     self.wndInventory.engelblack5.Hide()
  979.                     self.wndInventory.engelblack5cl.Show()
  980.                     self.wndInventory.engelblack6.Hide()
  981.                     self.wndInventory.engelblack6cl.Show()
  982.                     self.wndInventory.engelblack7.Hide()
  983.                     self.wndInventory.engelblack7cl.Show()
  984.                     self.wndInventory.engelblack8.Hide()
  985.                     self.wndInventory.engelblack8cl.Show()
  986.                     self.wndInventory.engelblack9.Hide()
  987.                     self.wndInventory.engelblack9cl.Show()
  988.                 elif player.GetEnvanter() == 12:
  989.                     self.wndInventory.engelblack.Hide()#open
  990.                     self.wndInventory.engelblackcl.Hide()#open
  991.                     self.wndInventory.engelblack2.Hide()
  992.                     self.wndInventory.engelblack2cl.Hide()#close
  993.                     self.wndInventory.engelblack3.Hide()
  994.                     self.wndInventory.engelblack3cl.Hide()
  995.                     self.wndInventory.engelblack4.Show()###
  996.                     self.wndInventory.engelblack4cl.Hide()
  997.                     self.wndInventory.engelblack5.Hide()
  998.                     self.wndInventory.engelblack5cl.Show()
  999.                     self.wndInventory.engelblack6.Hide()
  1000.                     self.wndInventory.engelblack6cl.Show()
  1001.                     self.wndInventory.engelblack7.Hide()
  1002.                     self.wndInventory.engelblack7cl.Show()
  1003.                     self.wndInventory.engelblack8.Hide()
  1004.                     self.wndInventory.engelblack8cl.Show()
  1005.                     self.wndInventory.engelblack9.Hide()
  1006.                     self.wndInventory.engelblack9cl.Show()
  1007.                 elif player.GetEnvanter() == 13:
  1008.                     self.wndInventory.engelblack.Hide()#open
  1009.                     self.wndInventory.engelblackcl.Hide()#open
  1010.                     self.wndInventory.engelblack2.Hide()
  1011.                     self.wndInventory.engelblack2cl.Hide()#close
  1012.                     self.wndInventory.engelblack3.Hide()
  1013.                     self.wndInventory.engelblack3cl.Hide()
  1014.                     self.wndInventory.engelblack4.Hide()###
  1015.                     self.wndInventory.engelblack4cl.Hide()
  1016.                     self.wndInventory.engelblack5.Show()
  1017.                     self.wndInventory.engelblack5cl.Hide()
  1018.                     self.wndInventory.engelblack6.Hide()
  1019.                     self.wndInventory.engelblack6cl.Show()
  1020.                     self.wndInventory.engelblack7.Hide()
  1021.                     self.wndInventory.engelblack7cl.Show()
  1022.                     self.wndInventory.engelblack8.Hide()
  1023.                     self.wndInventory.engelblack8cl.Show()
  1024.                     self.wndInventory.engelblack9.Hide()
  1025.                     self.wndInventory.engelblack9cl.Show()
  1026.                 elif player.GetEnvanter() == 14:
  1027.                     self.wndInventory.engelblack.Hide()#open
  1028.                     self.wndInventory.engelblackcl.Hide()#open
  1029.                     self.wndInventory.engelblack2.Hide()
  1030.                     self.wndInventory.engelblack2cl.Hide()#close
  1031.                     self.wndInventory.engelblack3.Hide()
  1032.                     self.wndInventory.engelblack3cl.Hide()
  1033.                     self.wndInventory.engelblack4.Hide()###
  1034.                     self.wndInventory.engelblack4cl.Hide()
  1035.                     self.wndInventory.engelblack5.Hide()
  1036.                     self.wndInventory.engelblack5cl.Hide()
  1037.                     self.wndInventory.engelblack6.Show()#open
  1038.                     self.wndInventory.engelblack6cl.Hide()
  1039.                     self.wndInventory.engelblack7.Hide()
  1040.                     self.wndInventory.engelblack7cl.Show()
  1041.                     self.wndInventory.engelblack8.Hide()
  1042.                     self.wndInventory.engelblack8cl.Show()
  1043.                     self.wndInventory.engelblack9.Hide()
  1044.                     self.wndInventory.engelblack9cl.Show()
  1045.                 elif player.GetEnvanter() == 15:
  1046.                     self.wndInventory.engelblack.Hide()#open
  1047.                     self.wndInventory.engelblackcl.Hide()#open
  1048.                     self.wndInventory.engelblack2.Hide()
  1049.                     self.wndInventory.engelblack2cl.Hide()#close
  1050.                     self.wndInventory.engelblack3.Hide()
  1051.                     self.wndInventory.engelblack3cl.Hide()
  1052.                     self.wndInventory.engelblack4.Hide()###
  1053.                     self.wndInventory.engelblack4cl.Hide()
  1054.                     self.wndInventory.engelblack5.Hide()
  1055.                     self.wndInventory.engelblack5cl.Hide()
  1056.                     self.wndInventory.engelblack6.Hide()#open
  1057.                     self.wndInventory.engelblack6cl.Hide()
  1058.                     self.wndInventory.engelblack7.Show()
  1059.                     self.wndInventory.engelblack7cl.Hide()
  1060.                     self.wndInventory.engelblack8.Hide()
  1061.                     self.wndInventory.engelblack8cl.Show()
  1062.                     self.wndInventory.engelblack9.Hide()
  1063.                     self.wndInventory.engelblack9cl.Show()
  1064.                 elif player.GetEnvanter() == 16:
  1065.                     self.wndInventory.engelblack.Hide()#open
  1066.                     self.wndInventory.engelblackcl.Hide()#open
  1067.                     self.wndInventory.engelblack2.Hide()
  1068.                     self.wndInventory.engelblack2cl.Hide()#close
  1069.                     self.wndInventory.engelblack3.Hide()
  1070.                     self.wndInventory.engelblack3cl.Hide()
  1071.                     self.wndInventory.engelblack4.Hide()###
  1072.                     self.wndInventory.engelblack4cl.Hide()
  1073.                     self.wndInventory.engelblack5.Hide()
  1074.                     self.wndInventory.engelblack5cl.Hide()
  1075.                     self.wndInventory.engelblack6.Hide()#open
  1076.                     self.wndInventory.engelblack6cl.Hide()
  1077.                     self.wndInventory.engelblack7.Hide()
  1078.                     self.wndInventory.engelblack7cl.Hide()
  1079.                     self.wndInventory.engelblack8.Show()
  1080.                     self.wndInventory.engelblack8cl.Hide()
  1081.                     self.wndInventory.engelblack9.Hide()
  1082.                     self.wndInventory.engelblack9cl.Show()
  1083.                 elif player.GetEnvanter() == 17:
  1084.                     self.wndInventory.engelblack.Hide()#open
  1085.                     self.wndInventory.engelblackcl.Hide()#open
  1086.                     self.wndInventory.engelblack2.Hide()
  1087.                     self.wndInventory.engelblack2cl.Hide()#close
  1088.                     self.wndInventory.engelblack3.Hide()
  1089.                     self.wndInventory.engelblack3cl.Hide()
  1090.                     self.wndInventory.engelblack4.Hide()###
  1091.                     self.wndInventory.engelblack4cl.Hide()
  1092.                     self.wndInventory.engelblack5.Hide()
  1093.                     self.wndInventory.engelblack5cl.Hide()
  1094.                     self.wndInventory.engelblack6.Hide()#open
  1095.                     self.wndInventory.engelblack6cl.Hide()
  1096.                     self.wndInventory.engelblack7.Hide()
  1097.                     self.wndInventory.engelblack7cl.Hide()
  1098.                     self.wndInventory.engelblack8.Hide()
  1099.                     self.wndInventory.engelblack8cl.Hide()
  1100.                     self.wndInventory.engelblack9.Show()
  1101.                     self.wndInventory.engelblack9cl.Hide()
  1102.                 elif player.GetEnvanter() == 18:
  1103.                     self.wndInventory.engelblack.Hide()#open
  1104.                     self.wndInventory.engelblackcl.Hide()#open
  1105.                     self.wndInventory.engelblack2.Hide()
  1106.                     self.wndInventory.engelblack2cl.Hide()#close
  1107.                     self.wndInventory.engelblack3.Hide()
  1108.                     self.wndInventory.engelblack3cl.Hide()
  1109.                     self.wndInventory.engelblack4.Hide()###
  1110.                     self.wndInventory.engelblack4cl.Hide()
  1111.                     self.wndInventory.engelblack5.Hide()
  1112.                     self.wndInventory.engelblack5cl.Hide()
  1113.                     self.wndInventory.engelblack6.Hide()#open
  1114.                     self.wndInventory.engelblack6cl.Hide()
  1115.                     self.wndInventory.engelblack7.Hide()
  1116.                     self.wndInventory.engelblack7cl.Hide()
  1117.                     self.wndInventory.engelblack8.Hide()
  1118.                     self.wndInventory.engelblack8cl.Hide()
  1119.                     self.wndInventory.engelblack9.Hide()
  1120.                     self.wndInventory.engelblack9cl.Hide()
  1121.             else:
  1122.                 self.wndInventory.engelblack.Hide()
  1123.                 self.wndInventory.engelblackcl.Hide()
  1124.                 self.wndInventory.engelblack2.Hide()
  1125.                 self.wndInventory.engelblack2cl.Hide()
  1126.                 self.wndInventory.engelblack3.Hide()
  1127.                 self.wndInventory.engelblack3cl.Hide()
  1128.                 self.wndInventory.engelblack4.Hide()
  1129.                 self.wndInventory.engelblack4cl.Hide()
  1130.                 self.wndInventory.engelblack5.Hide()
  1131.                 self.wndInventory.engelblack5cl.Hide()
  1132.                 self.wndInventory.engelblack6.Hide()
  1133.                 self.wndInventory.engelblack6cl.Hide()
  1134.                 self.wndInventory.engelblack7.Hide()
  1135.                 self.wndInventory.engelblack7cl.Hide()
  1136.                 self.wndInventory.engelblack8.Hide()
  1137.                 self.wndInventory.engelblack8cl.Hide()
  1138.                 self.wndInventory.engelblack9.Hide()
  1139.                 self.wndInventory.engelblack9cl.Hide()
  1140.                 self.wndInventory.RefreshBagSlotWindow()   
  1141.  
  1142.     def RefreshCharacter(self): ## Character ĆäŔĚÁöŔÇ ľó±Ľ, Inventory ĆäŔĚÁöŔÇ Ŕü˝Ĺ ±×¸˛ µîŔÇ Refresh
  1143.         self.wndCharacter.RefreshCharacter()
  1144.         self.wndTaskBar.RefreshQuickSlot()
  1145.  
  1146.     def RefreshQuest(self):
  1147.         self.wndCharacter.RefreshQuest()
  1148.  
  1149.     def RefreshSafebox(self):
  1150.         self.wndSafebox.RefreshSafebox()
  1151.  
  1152.     # ITEM_MALL
  1153.     def RefreshMall(self):
  1154.         self.wndMall.RefreshMall()
  1155.  
  1156.     def OpenItemMall(self):
  1157.         if not self.mallPageDlg:
  1158.             self.mallPageDlg = uiShop.MallPageDialog()
  1159.  
  1160.         self.mallPageDlg.Open()
  1161.     # END_OF_ITEM_MALL
  1162.  
  1163.     def RefreshMessenger(self):
  1164.         self.wndMessenger.RefreshMessenger()
  1165.  
  1166.     def RefreshGuildInfoPage(self):
  1167.         self.wndGuild.RefreshGuildInfoPage()
  1168.  
  1169.     def RefreshGuildBoardPage(self):
  1170.         self.wndGuild.RefreshGuildBoardPage()
  1171.  
  1172.     def RefreshGuildMemberPage(self):
  1173.         self.wndGuild.RefreshGuildMemberPage()
  1174.  
  1175.     def RefreshGuildMemberPageGradeComboBox(self):
  1176.         self.wndGuild.RefreshGuildMemberPageGradeComboBox()
  1177.  
  1178.     def RefreshGuildSkillPage(self):
  1179.         self.wndGuild.RefreshGuildSkillPage()
  1180.  
  1181.     def RefreshGuildGradePage(self):
  1182.         self.wndGuild.RefreshGuildGradePage()
  1183.  
  1184.     def DeleteGuild(self):
  1185.         self.wndMessenger.ClearGuildMember()
  1186.         self.wndGuild.DeleteGuild()
  1187.  
  1188.     def RefreshMobile(self):
  1189.         self.dlgSystem.RefreshMobile()
  1190.  
  1191.     def OnMobileAuthority(self):
  1192.         self.dlgSystem.OnMobileAuthority()
  1193.  
  1194.     def OnBlockMode(self, mode):
  1195.         self.dlgSystem.OnBlockMode(mode)
  1196.  
  1197.     ## Calling Functions
  1198.     # PointReset
  1199.     def OpenPointResetDialog(self):
  1200.         self.dlgPointReset.Show()
  1201.         self.dlgPointReset.SetTop()
  1202.  
  1203.     def ClosePointResetDialog(self):
  1204.         self.dlgPointReset.Close()
  1205.  
  1206.     # Shop
  1207.     def OpenShopDialog(self, vid):
  1208.         self.wndInventory.Show()
  1209.         self.wndInventory.SetTop()
  1210.         self.dlgShop.Open(vid)
  1211.         self.dlgShop.SetTop()
  1212.  
  1213.     def CloseShopDialog(self):
  1214.         self.dlgShop.Close()
  1215.  
  1216.     def RefreshShopDialog(self):
  1217.         self.dlgShop.Refresh()
  1218.  
  1219.     ## Quest
  1220.     def OpenCharacterWindowQuestPage(self):
  1221.         self.wndCharacter.Show()
  1222.         self.wndCharacter.SetState("QUEST")
  1223.  
  1224.     def OpenQuestWindow(self, skin, idx):
  1225.  
  1226.         wnds = ()
  1227.  
  1228.         q = uiQuest.QuestDialog(skin, idx)
  1229.         q.SetWindowName("QuestWindow" + str(idx))
  1230.         q.Show()
  1231.         if skin:
  1232.             q.Lock()
  1233.             wnds = self.__HideWindows()
  1234.  
  1235.             # UNKNOWN_UPDATE
  1236.             q.AddOnDoneEvent(lambda tmp_self, args=wnds: self.__ShowWindows(args))
  1237.             # END_OF_UNKNOWN_UPDATE
  1238.  
  1239.         if skin:
  1240.             q.AddOnCloseEvent(q.Unlock)
  1241.         q.AddOnCloseEvent(lambda key = self.wndQuestWindowNewKey:ui.__mem_func__(self.RemoveQuestDialog)(key))
  1242.         self.wndQuestWindow[self.wndQuestWindowNewKey] = q
  1243.  
  1244.         self.wndQuestWindowNewKey = self.wndQuestWindowNewKey + 1
  1245.  
  1246.         # END_OF_UNKNOWN_UPDATE
  1247.        
  1248.     def RemoveQuestDialog(self, key):
  1249.         del self.wndQuestWindow[key]
  1250.  
  1251.     def HideAllQuestWindow(self):
  1252.         tempList = []
  1253.         for i,v in self.wndQuestWindow.iteritems():
  1254.             tempList.append(v)
  1255.  
  1256.         for i in tempList:
  1257.             i.OnCancel()
  1258.  
  1259.     ## Exchange
  1260.     def StartExchange(self):
  1261.         self.dlgExchange.OpenDialog()
  1262.         self.dlgExchange.Refresh()
  1263.  
  1264.     def EndExchange(self):
  1265.         self.dlgExchange.CloseDialog()
  1266.  
  1267.     def RefreshExchange(self):
  1268.         self.dlgExchange.Refresh()
  1269.  
  1270.     ## Party
  1271.     def AddPartyMember(self, pid, name):
  1272.         self.wndParty.AddPartyMember(pid, name)
  1273.  
  1274.         self.__ArrangeQuestButton()
  1275.  
  1276.     def UpdatePartyMemberInfo(self, pid):
  1277.         self.wndParty.UpdatePartyMemberInfo(pid)
  1278.  
  1279.     def RemovePartyMember(self, pid):
  1280.         self.wndParty.RemovePartyMember(pid)
  1281.  
  1282.         ##!! 20061026.levites.Äů˝şĆ®_Ŕ§Äˇ_ş¸Á¤
  1283.         self.__ArrangeQuestButton()
  1284.  
  1285.     def LinkPartyMember(self, pid, vid):
  1286.         self.wndParty.LinkPartyMember(pid, vid)
  1287.  
  1288.     def UnlinkPartyMember(self, pid):
  1289.         self.wndParty.UnlinkPartyMember(pid)
  1290.  
  1291.     def UnlinkAllPartyMember(self):
  1292.         self.wndParty.UnlinkAllPartyMember()
  1293.  
  1294.     def ExitParty(self):
  1295.         self.wndParty.ExitParty()
  1296.  
  1297.         ##!! 20061026.levites.Äů˝şĆ®_Ŕ§Äˇ_ş¸Á¤
  1298.         self.__ArrangeQuestButton()
  1299.  
  1300.     def PartyHealReady(self):
  1301.         self.wndParty.PartyHealReady()
  1302.  
  1303.     def ChangePartyParameter(self, distributionMode):
  1304.         self.wndParty.ChangePartyParameter(distributionMode)
  1305.  
  1306.     ## Safebox
  1307.     def AskSafeboxPassword(self):
  1308.         if self.wndSafebox.IsShow():
  1309.             return
  1310.  
  1311.         # SAFEBOX_PASSWORD
  1312.         self.dlgPassword.SetTitle(localeInfo.PASSWORD_TITLE)
  1313.         self.dlgPassword.SetSendMessage("/safebox_password ")
  1314.         # END_OF_SAFEBOX_PASSWORD
  1315.  
  1316.         self.dlgPassword.ShowDialog()
  1317.  
  1318.     def OpenSafeboxWindow(self, size):
  1319.         self.dlgPassword.CloseDialog()
  1320.         self.wndSafebox.ShowWindow(size)
  1321.  
  1322.     def RefreshSafeboxMoney(self):
  1323.         self.wndSafebox.RefreshSafeboxMoney()
  1324.  
  1325.     def CommandCloseSafebox(self):
  1326.         self.wndSafebox.CommandCloseSafebox()
  1327.  
  1328.     # ITEM_MALL
  1329.     def AskMallPassword(self):
  1330.         if self.wndMall.IsShow():
  1331.             return
  1332.         self.dlgPassword.SetTitle(localeInfo.MALL_PASSWORD_TITLE)
  1333.         self.dlgPassword.SetSendMessage("/mall_password ")
  1334.         self.dlgPassword.ShowDialog()
  1335.  
  1336.     def OpenMallWindow(self, size):
  1337.         self.dlgPassword.CloseDialog()
  1338.         self.wndMall.ShowWindow(size)
  1339.  
  1340.     def CommandCloseMall(self):
  1341.         self.wndMall.CommandCloseMall()
  1342.     # END_OF_ITEM_MALL
  1343.  
  1344.     ## Guild
  1345.     def OnStartGuildWar(self, guildSelf, guildOpp):
  1346.         self.wndGuild.OnStartGuildWar(guildSelf, guildOpp)
  1347.  
  1348.         guildWarScoreBoard = uiGuild.GuildWarScoreBoard()
  1349.         guildWarScoreBoard.Open(guildSelf, guildOpp)
  1350.         guildWarScoreBoard.Show()
  1351.         self.guildScoreBoardDict[uiGuild.GetGVGKey(guildSelf, guildOpp)] = guildWarScoreBoard
  1352.  
  1353.     def OnEndGuildWar(self, guildSelf, guildOpp):
  1354.         self.wndGuild.OnEndGuildWar(guildSelf, guildOpp)
  1355.  
  1356.         key = uiGuild.GetGVGKey(guildSelf, guildOpp)
  1357.  
  1358.         if not self.guildScoreBoardDict.has_key(key):
  1359.             return
  1360.  
  1361.         self.guildScoreBoardDict[key].Destroy()
  1362.         del self.guildScoreBoardDict[key]
  1363.  
  1364.     # GUILDWAR_MEMBER_COUNT
  1365.     def UpdateMemberCount(self, gulidID1, memberCount1, guildID2, memberCount2):
  1366.         key = uiGuild.GetGVGKey(gulidID1, guildID2)
  1367.  
  1368.         if not self.guildScoreBoardDict.has_key(key):
  1369.             return
  1370.  
  1371.         self.guildScoreBoardDict[key].UpdateMemberCount(gulidID1, memberCount1, guildID2, memberCount2)
  1372.     # END_OF_GUILDWAR_MEMBER_COUNT
  1373.  
  1374.     def OnRecvGuildWarPoint(self, gainGuildID, opponentGuildID, point):
  1375.         key = uiGuild.GetGVGKey(gainGuildID, opponentGuildID)
  1376.         if not self.guildScoreBoardDict.has_key(key):
  1377.             return
  1378.  
  1379.         guildBoard = self.guildScoreBoardDict[key]
  1380.         guildBoard.SetScore(gainGuildID, opponentGuildID, point)
  1381.  
  1382.     ## PK Mode
  1383.     def OnChangePKMode(self):
  1384.         self.wndCharacter.RefreshAlignment()
  1385.         self.dlgSystem.OnChangePKMode()
  1386.  
  1387.     ## Refine
  1388.     def OpenRefineDialog(self, targetItemPos, nextGradeItemVnum, cost, prob, type):
  1389.         self.dlgRefineNew.Open(targetItemPos, nextGradeItemVnum, cost, prob, type)
  1390.  
  1391.     def AppendMaterialToRefineDialog(self, vnum, count):
  1392.         self.dlgRefineNew.AppendMaterial(vnum, count)
  1393.  
  1394. #ifdef OFFLINE_SHOP
  1395.     def OpenGift(self):
  1396.         if self.wndGameButton:
  1397.             self.wndGameButton.ShowGiftButton()
  1398. #endif
  1399.  
  1400.     ## Show & Hide
  1401.     def ShowDefaultWindows(self):
  1402.         self.wndTaskBar.Show()
  1403.         self.wndMiniMap.Show()
  1404.         self.wndMiniMap.ShowMiniMap()
  1405.         if self.wndEnergyBar:
  1406.             self.wndEnergyBar.Show()
  1407.  
  1408.     def ShowAllWindows(self):
  1409.         self.wndTaskBar.Show()
  1410.         self.wndCharacter.Show()
  1411.         self.wndInventory.Show()
  1412.         if app.ENABLE_DRAGON_SOUL_SYSTEM:
  1413.             self.wndDragonSoul.Show()
  1414.             self.wndDragonSoulRefine.Show()
  1415.         self.wndChat.Show()
  1416.         self.wndMiniMap.Show()
  1417.         if self.wndEnergyBar:
  1418.             self.wndEnergyBar.Show()
  1419.         if self.wndExpandedTaskBar:
  1420.             self.wndExpandedTaskBar.Show()
  1421.             self.wndExpandedTaskBar.SetTop()
  1422.  
  1423.     def HideAllWindows(self):
  1424.         if self.wndTaskBar:
  1425.             self.wndTaskBar.Hide()
  1426.        
  1427.         if self.wndEnergyBar:
  1428.             self.wndEnergyBar.Hide()
  1429.  
  1430.         if self.wndCharacter:
  1431.             self.wndCharacter.Hide()
  1432.  
  1433.         if self.wndInventory:
  1434.             self.wndInventory.Hide()
  1435.            
  1436.         if app.ENABLE_DRAGON_SOUL_SYSTEM:
  1437.             self.wndDragonSoul.Hide()
  1438.             self.wndDragonSoulRefine.Hide()
  1439.  
  1440.         if self.wndChat:
  1441.             self.wndChat.Hide()
  1442.  
  1443.         if self.wndMiniMap:
  1444.             self.wndMiniMap.Hide()
  1445.  
  1446.         if self.wndMessenger:
  1447.             self.wndMessenger.Hide()
  1448.  
  1449.         if self.wndGuild:
  1450.             self.wndGuild.Hide()
  1451.            
  1452.         if self.wndExpandedTaskBar:
  1453.             self.wndExpandedTaskBar.Hide()
  1454.  
  1455.  
  1456.     def ShowMouseImage(self):
  1457.         self.wndTaskBar.ShowMouseImage()
  1458.  
  1459.     def HideMouseImage(self):
  1460.         self.wndTaskBar.HideMouseImage()
  1461.  
  1462.     def ToggleChat(self):
  1463.         if TRUE == self.wndChat.IsEditMode():
  1464.             self.wndChat.CloseChat()
  1465.         else:
  1466.             # ŔĄĆäŔĚÁö°ˇ ż­·ČŔ»¶§´Â äĆĂ ŔÔ·ÂŔĚ ľČµĘ
  1467.             if self.wndWeb and self.wndWeb.IsShow():
  1468.                 pass
  1469.             else:
  1470.                 self.wndChat.OpenChat()
  1471.  
  1472.     def IsOpenChat(self):
  1473.         return self.wndChat.IsEditMode()
  1474.  
  1475.     def SetChatFocus(self):
  1476.         self.wndChat.SetChatFocus()
  1477.  
  1478.     def OpenRestartDialog(self):
  1479.         self.dlgRestart.OpenDialog()
  1480.         self.dlgRestart.SetTop()
  1481.  
  1482.     def CloseRestartDialog(self):
  1483.         self.dlgRestart.Close()
  1484.  
  1485.     def ToggleSystemDialog(self):
  1486.         if FALSE == self.dlgSystem.IsShow():
  1487.             self.dlgSystem.OpenDialog()
  1488.             self.dlgSystem.SetTop()
  1489.         else:
  1490.             self.dlgSystem.Close()
  1491.  
  1492.     def OpenSystemDialog(self):
  1493.         self.dlgSystem.OpenDialog()
  1494.         self.dlgSystem.SetTop()
  1495.  
  1496.     def ToggleMessenger(self):
  1497.         if self.wndMessenger.IsShow():
  1498.             self.wndMessenger.Hide()
  1499.         else:
  1500.             self.wndMessenger.SetTop()
  1501.             self.wndMessenger.Show()
  1502.  
  1503.     def ToggleMiniMap(self):
  1504.         if app.IsPressed(app.DIK_LSHIFT) or app.IsPressed(app.DIK_RSHIFT):
  1505.             if FALSE == self.wndMiniMap.isShowMiniMap():
  1506.                 self.wndMiniMap.ShowMiniMap()
  1507.                 self.wndMiniMap.SetTop()
  1508.             else:
  1509.                 self.wndMiniMap.HideMiniMap()
  1510.  
  1511.         else:
  1512.             self.wndMiniMap.ToggleAtlasWindow()
  1513.  
  1514.     def PressMKey(self):
  1515.         if app.IsPressed(app.DIK_LALT) or app.IsPressed(app.DIK_RALT):
  1516.             self.ToggleMessenger()
  1517.  
  1518.         else:
  1519.             self.ToggleMiniMap()
  1520.  
  1521.     def SetMapName(self, mapName):
  1522.         self.wndMiniMap.SetMapName(mapName)
  1523.  
  1524.     def MiniMapScaleUp(self):
  1525.         self.wndMiniMap.ScaleUp()
  1526.  
  1527.     def MiniMapScaleDown(self):
  1528.         self.wndMiniMap.ScaleDown()
  1529.  
  1530.     def ToggleCharacterWindow(self, state):
  1531.         if FALSE == player.IsObserverMode():
  1532.             if FALSE == self.wndCharacter.IsShow():
  1533.                 self.OpenCharacterWindowWithState(state)
  1534.             else:
  1535.                 if state == self.wndCharacter.GetState():
  1536.                     self.wndCharacter.OverOutItem()
  1537.                     self.wndCharacter.Hide()
  1538.                 else:
  1539.                     self.wndCharacter.SetState(state)
  1540.  
  1541.     def OpenCharacterWindowWithState(self, state):
  1542.         if FALSE == player.IsObserverMode():
  1543.             self.wndCharacter.SetState(state)
  1544.             self.wndCharacter.Show()
  1545.             self.wndCharacter.SetTop()
  1546.  
  1547.     def ToggleCharacterWindowStatusPage(self):
  1548.         self.ToggleCharacterWindow("STATUS")
  1549.  
  1550.     def ToggleInventoryWindow(self):
  1551.         if FALSE == player.IsObserverMode():
  1552.             if FALSE == self.wndInventory.IsShow():
  1553.                 self.wndInventory.Show()
  1554.                 self.wndInventory.SetTop()
  1555.             else:
  1556.                 self.wndInventory.OverOutItem()
  1557.                 self.wndInventory.Close()
  1558.  
  1559.     def TogglePetMain(self):
  1560.         if FALSE == player.IsObserverMode():
  1561.             if FALSE == self.wndExpandedTaskBar.IsShow():
  1562.                 self.wndExpandedTaskBar.Show()
  1563.                 self.wndExpandedTaskBar.SetTop()
  1564.             else:
  1565.                 self.wndExpandedTaskBar.Close()
  1566.         net.SendChatPacket("/gift")
  1567.  
  1568.     def ToggleExpandedButton(self):
  1569.         if FALSE == player.IsObserverMode():
  1570.             if FALSE == self.wndExpandedTaskBar.IsShow():
  1571.                 self.wndExpandedTaskBar.Show()
  1572.                 self.wndExpandedTaskBar.SetTop()
  1573.             else:
  1574.                 self.wndExpandedTaskBar.Close()
  1575.    
  1576.     # żëČĄĽ®
  1577.     def DragonSoulActivate(self, deck):
  1578.         if app.ENABLE_DRAGON_SOUL_SYSTEM:
  1579.             self.wndDragonSoul.ActivateDragonSoulByExtern(deck)
  1580.  
  1581.     def DragonSoulDeactivate(self):
  1582.         if app.ENABLE_DRAGON_SOUL_SYSTEM:
  1583.             self.wndDragonSoul.DeactivateDragonSoul()
  1584.  
  1585.     def Highlight_Item(self, inven_type, inven_pos):
  1586.         if not app.ENABLE_HIGHLIGHT_SYSTEM:
  1587.             if player.DRAGON_SOUL_INVENTORY == inven_type:
  1588.                 if app.ENABLE_DRAGON_SOUL_SYSTEM:
  1589.                     self.wndDragonSoul.HighlightSlot(inven_pos)
  1590.         else:
  1591.             if inven_type == player.INVENTORY:
  1592.                 self.wndInventory.HighlightSlot(inven_pos)
  1593.             elif inven_type == player.DRAGON_SOUL_INVENTORY:
  1594.                 if app.ENABLE_DRAGON_SOUL_SYSTEM:
  1595.                     self.wndDragonSoul.HighlightSlot(inven_pos)
  1596.  
  1597.     def ToggleDragonSoulWindow(self):
  1598.         if FALSE == player.IsObserverMode():
  1599.             if app.ENABLE_DRAGON_SOUL_SYSTEM:
  1600.                 if FALSE == self.wndDragonSoul.IsShow():
  1601.                     #if self.DRAGON_SOUL_IS_QUALIFIED:
  1602.                     self.wndDragonSoul.Show()
  1603.                     #else:
  1604.                     #   try:
  1605.                     #       self.wndPopupDialog.SetText(localeInfo.DRAGON_SOUL_UNQUALIFIED)
  1606.                     #       self.wndPopupDialog.Open()
  1607.                     #   except:
  1608.                     #       self.wndPopupDialog = uiCommon.PopupDialog()
  1609.                     #       self.wndPopupDialog.SetText(localeInfo.DRAGON_SOUL_UNQUALIFIED)
  1610.                     #       self.wndPopupDialog.Open()
  1611.                 else:
  1612.                     self.wndDragonSoul.Close()
  1613.        
  1614.     def ToggleDragonSoulWindowWithNoInfo(self):
  1615.         if FALSE == player.IsObserverMode():
  1616.             if app.ENABLE_DRAGON_SOUL_SYSTEM:
  1617.                 if FALSE == self.wndDragonSoul.IsShow():
  1618.                     #if self.DRAGON_SOUL_IS_QUALIFIED:
  1619.                     self.wndDragonSoul.Show()
  1620.                 else:
  1621.                     self.wndDragonSoul.Close()
  1622.                
  1623.     def FailDragonSoulRefine(self, reason, inven_type, inven_pos):
  1624.         if FALSE == player.IsObserverMode():
  1625.             if app.ENABLE_DRAGON_SOUL_SYSTEM:
  1626.                 if TRUE == self.wndDragonSoulRefine.IsShow():
  1627.                     self.wndDragonSoulRefine.RefineFail(reason, inven_type, inven_pos)
  1628.  
  1629.     def SucceedDragonSoulRefine(self, inven_type, inven_pos):
  1630.         if FALSE == player.IsObserverMode():
  1631.             if app.ENABLE_DRAGON_SOUL_SYSTEM:
  1632.                 if TRUE == self.wndDragonSoulRefine.IsShow():
  1633.                     self.wndDragonSoulRefine.RefineSucceed(inven_type, inven_pos)
  1634.  
  1635.     def OpenDragonSoulRefineWindow(self):
  1636.         if FALSE == player.IsObserverMode():
  1637.             if app.ENABLE_DRAGON_SOUL_SYSTEM:
  1638.                 if FALSE == self.wndDragonSoulRefine.IsShow():
  1639.                     self.wndDragonSoulRefine.Show()
  1640.                     if None != self.wndDragonSoul:
  1641.                         if FALSE == self.wndDragonSoul.IsShow():
  1642.                             self.wndDragonSoul.Show()
  1643.  
  1644.     def CloseDragonSoulRefineWindow(self):
  1645.         if FALSE == player.IsObserverMode():
  1646.             if app.ENABLE_DRAGON_SOUL_SYSTEM:
  1647.                 if TRUE == self.wndDragonSoulRefine.IsShow():
  1648.                     self.wndDragonSoulRefine.Close()
  1649.     # żëČĄĽ® łˇ
  1650.    
  1651.     def ToggleGuildWindow(self):
  1652.         if not self.wndGuild.IsShow():
  1653.             if self.wndGuild.CanOpen():
  1654.                 self.wndGuild.Open()
  1655.             else:
  1656.                 chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.GUILD_YOU_DO_NOT_JOIN)
  1657.         else:
  1658.             self.wndGuild.OverOutItem()
  1659.             self.wndGuild.Hide()
  1660.  
  1661.     def ToggleChatLogWindow(self):
  1662.         if self.wndChatLog.IsShow():
  1663.             self.wndChatLog.Hide()
  1664.         else:
  1665.             self.wndChatLog.Show()
  1666.  
  1667.     def CheckGameButton(self):
  1668.         if self.wndGameButton:
  1669.             self.wndGameButton.CheckGameButton()
  1670.  
  1671. #ifdef OFFLINE_SHOP
  1672.     def __OnClickGiftButton(self):
  1673.         if self.wndGameButton:
  1674.             if not self.wndGiftBox.IsShow():
  1675.                 self.wndGiftBox.Open()
  1676.             else:
  1677.                 self.wndGiftBox.Close()
  1678.  
  1679.     def ClearGift(self):
  1680.         if self.wndGameButton:
  1681.             self.wndGameButton.HideGiftButton()
  1682.         if self.wndGiftBox:
  1683.             self.wndGiftBox.Clear()
  1684.             self.wndGiftBox.Refresh()
  1685. #endif
  1686.  
  1687.     def __OnClickStatusPlusButton(self):
  1688.         self.ToggleCharacterWindow("STATUS")
  1689.  
  1690.     def __OnClickSkillPlusButton(self):
  1691.         self.ToggleCharacterWindow("SKILL")
  1692.  
  1693.     def __OnClickQuestButton(self):
  1694.         self.ToggleCharacterWindow("QUEST")
  1695.  
  1696.     def __OnClickHelpButton(self):
  1697.         player.SetPlayTime(1)
  1698.         self.CheckGameButton()
  1699.         self.OpenHelpWindow()
  1700.  
  1701.     def __OnClickBuildButton(self):
  1702.         self.BUILD_OpenWindow()
  1703.  
  1704.     def OpenHelpWindow(self):
  1705.         self.wndUICurtain.Show()
  1706.         self.wndHelp.Open()
  1707.  
  1708.     def CloseHelpWindow(self):
  1709.         self.wndUICurtain.Hide()
  1710.         self.wndHelp.Close()
  1711.  
  1712.     def OpenAttrTransferWindow(self):
  1713.         self.wndAttrTransfer.Open()
  1714.         if self.wndInventory.IsShow() == FALSE:
  1715.             self.wndInventory.Show()
  1716.  
  1717.     def CloseAttrTransferWindow(self):
  1718.         self.wndAttrTransfer.Close()
  1719.  
  1720.     def AttrTransferSuccess(self):
  1721.         self.wndAttrTransfer.Success()
  1722.  
  1723.     def OpenWebWindow(self, url):
  1724.         self.wndWeb.Open(url)
  1725.  
  1726.         # ŔĄĆäŔĚÁö¸¦ ż­¸é äĆĂŔ» ´Ý´Â´Ů
  1727.         self.wndChat.CloseChat()
  1728.  
  1729. #ifdef GIFT_SYSTEM
  1730.     def ShowGift(self):
  1731.         self.wndTaskBar.ShowGift()
  1732. #endif
  1733.  
  1734.     def CloseWbWindow(self):
  1735.         self.wndWeb.Close()
  1736.  
  1737.     def OpenCardsInfoWindow(self):
  1738.         self.wndCardsInfo.Open()
  1739.  
  1740.     def OpenCardsWindow(self, safemode):
  1741.         self.wndCards.Open(safemode)
  1742.  
  1743.     def UpdateCardsInfo(self, hand_1, hand_1_v, hand_2, hand_2_v, hand_3, hand_3_v, hand_4, hand_4_v, hand_5, hand_5_v, cards_left, points):
  1744.         self.wndCards.UpdateCardsInfo(hand_1, hand_1_v, hand_2, hand_2_v, hand_3, hand_3_v, hand_4, hand_4_v, hand_5, hand_5_v, cards_left, points)
  1745.  
  1746.     def UpdateCardsFieldInfo(self, hand_1, hand_1_v, hand_2, hand_2_v, hand_3, hand_3_v, points):
  1747.         self.wndCards.UpdateCardsFieldInfo(hand_1, hand_1_v, hand_2, hand_2_v, hand_3, hand_3_v, points)
  1748.  
  1749.     def CardsPutReward(self, hand_1, hand_1_v, hand_2, hand_2_v, hand_3, hand_3_v, points):
  1750.         self.wndCards.CardsPutReward(hand_1, hand_1_v, hand_2, hand_2_v, hand_3, hand_3_v, points)
  1751.  
  1752.     def CardsShowIcon(self):
  1753.         self.wndCardsIcon.Show()
  1754.  
  1755.     if app.ENABLE_SASH_SYSTEM:
  1756.         def ActSash(self, iAct, bWindow):
  1757.             if iAct == 1:
  1758.                 if bWindow == True:
  1759.                     if not self.wndSashCombine.IsOpened():
  1760.                         self.wndSashCombine.Open()
  1761.                    
  1762.                     if not self.wndInventory.IsShow():
  1763.                         self.wndInventory.Show()
  1764.                 else:
  1765.                     if not self.wndSashAbsorption.IsOpened():
  1766.                         self.wndSashAbsorption.Open()
  1767.                    
  1768.                     if not self.wndInventory.IsShow():
  1769.                         self.wndInventory.Show()
  1770.                
  1771.                 self.wndInventory.RefreshBagSlotWindow()
  1772.             elif iAct == 2:
  1773.                 if bWindow == True:
  1774.                     if self.wndSashCombine.IsOpened():
  1775.                         self.wndSashCombine.Close()
  1776.                 else:
  1777.                     if self.wndSashAbsorption.IsOpened():
  1778.                         self.wndSashAbsorption.Close()
  1779.                
  1780.                 self.wndInventory.RefreshBagSlotWindow()
  1781.             elif iAct == 3 or iAct == 4:
  1782.                 if bWindow == True:
  1783.                     if self.wndSashCombine.IsOpened():
  1784.                         self.wndSashCombine.Refresh(iAct)
  1785.                 else:
  1786.                     if self.wndSashAbsorption.IsOpened():
  1787.                         self.wndSashAbsorption.Refresh(iAct)
  1788.                
  1789.                 self.wndInventory.RefreshBagSlotWindow()
  1790.  
  1791.     def OpenCubeWindow(self):
  1792.         self.wndCube.Open()
  1793.  
  1794.         if FALSE == self.wndInventory.IsShow():
  1795.             self.wndInventory.Show()
  1796.  
  1797.     def UpdateCubeInfo(self, gold, itemVnum, count):
  1798.         self.wndCube.UpdateInfo(gold, itemVnum, count)
  1799.  
  1800.     def CloseCubeWindow(self):
  1801.         self.wndCube.Close()
  1802.  
  1803.     def FailedCubeWork(self):
  1804.         self.wndCube.Refresh()
  1805.  
  1806.     def SucceedCubeWork(self, itemVnum, count):
  1807.         self.wndCube.Clear()
  1808.        
  1809.         print "ĹĄşę Á¦ŔŰ Ľş°ř! [%d:%d]" % (itemVnum, count)
  1810.  
  1811.         if 0: # °á°ú ¸Ţ˝ĂÁö Ăâ·ÂŔş »ý·« ÇŃ´Ů
  1812.             self.wndCubeResult.SetPosition(*self.wndCube.GetGlobalPosition())
  1813.             self.wndCubeResult.SetCubeResultItem(itemVnum, count)
  1814.             self.wndCubeResult.Open()
  1815.             self.wndCubeResult.SetTop()
  1816.  
  1817.     def __HideWindows(self):
  1818.         hideWindows = self.wndTaskBar,\
  1819.                         self.wndCharacter,\
  1820.                         self.wndInventory,\
  1821.                         self.wndMiniMap,\
  1822.                         self.wndGuild,\
  1823.                         self.wndMessenger,\
  1824.                         self.wndChat,\
  1825.                         self.wndParty,\
  1826.                         self.wndGameButton,
  1827.  
  1828.         if self.wndEnergyBar:
  1829.             hideWindows += self.wndEnergyBar,
  1830.            
  1831.         if self.wndExpandedTaskBar:
  1832.             hideWindows += self.wndExpandedTaskBar,
  1833.            
  1834.         if app.ENABLE_DRAGON_SOUL_SYSTEM:
  1835.             hideWindows += self.wndDragonSoul,\
  1836.                         self.wndDragonSoulRefine,
  1837.  
  1838.         hideWindows = filter(lambda x:x.IsShow(), hideWindows)
  1839.         map(lambda x:x.Hide(), hideWindows)
  1840.         import sys
  1841.  
  1842.         self.HideAllQuestButton()
  1843.         self.HideAllWhisperButton()
  1844.  
  1845.         if self.wndChat.IsEditMode():
  1846.             self.wndChat.CloseChat()
  1847.  
  1848.         return hideWindows
  1849.  
  1850.     def __ShowWindows(self, wnds):
  1851.         import sys
  1852.         map(lambda x:x.Show(), wnds)
  1853.         global IsQBHide
  1854.         if not IsQBHide:
  1855.             self.ShowAllQuestButton()
  1856.         else:
  1857.             self.HideAllQuestButton()
  1858.  
  1859.         self.ShowAllWhisperButton()
  1860.  
  1861.     def BINARY_OpenAtlasWindow(self):
  1862.         if self.wndMiniMap:
  1863.             self.wndMiniMap.ShowAtlas()
  1864.  
  1865.     def BINARY_SetObserverMode(self, flag):
  1866.         self.wndGameButton.SetObserverMode(flag)
  1867.  
  1868.     # ACCESSORY_REFINE_ADD_METIN_STONE
  1869.     def BINARY_OpenSelectItemWindow(self):
  1870.         self.wndItemSelect.Open()
  1871.     # END_OF_ACCESSORY_REFINE_ADD_METIN_STONE
  1872.  
  1873.     #####################################################################################
  1874.     ### Private Shop ###
  1875.  
  1876.     def OpenPrivateShopInputNameDialog(self):
  1877.         #if player.IsInSafeArea():
  1878.         #   chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.CANNOT_OPEN_PRIVATE_SHOP_IN_SAFE_AREA)
  1879.         #   return
  1880.  
  1881.         inputDialog = uiCommon.InputDialog()
  1882.         inputDialog.SetTitle(localeInfo.PRIVATE_SHOP_INPUT_NAME_DIALOG_TITLE)
  1883.         inputDialog.SetMaxLength(32)
  1884.         inputDialog.SetAcceptEvent(ui.__mem_func__(self.OpenPrivateShopBuilder))
  1885.         inputDialog.SetCancelEvent(ui.__mem_func__(self.ClosePrivateShopInputNameDialog))
  1886.         inputDialog.Open()
  1887.         self.inputDialog = inputDialog
  1888.  
  1889.     def ClosePrivateShopInputNameDialog(self):
  1890.         self.inputDialog = None
  1891.         return TRUE
  1892.  
  1893.     def OpenPrivateShopBuilder(self):
  1894.  
  1895.         if not self.inputDialog:
  1896.             return TRUE
  1897.  
  1898.         if not len(self.inputDialog.GetText()):
  1899.             return TRUE
  1900.  
  1901.         self.privateShopBuilder.Open(self.inputDialog.GetText())
  1902.         self.ClosePrivateShopInputNameDialog()
  1903.         return TRUE
  1904.  
  1905.     def AppearPrivateShop(self, vid, text):
  1906.  
  1907.         board = uiPrivateShopBuilder.PrivateShopAdvertisementBoard()
  1908.         board.Open(vid, text)
  1909.  
  1910.         self.privateShopAdvertisementBoardDict[vid] = board
  1911.  
  1912.     def DisappearPrivateShop(self, vid):
  1913.  
  1914.         if not self.privateShopAdvertisementBoardDict.has_key(vid):
  1915.             return
  1916.  
  1917.         del self.privateShopAdvertisementBoardDict[vid]
  1918.         uiPrivateShopBuilder.DeleteADBoard(vid)
  1919.  
  1920.     #####################################################################################
  1921.     ### Equipment ###
  1922.  
  1923.     def OpenEquipmentDialog(self, vid):
  1924.         import uiequipmentdialog
  1925.  
  1926.         if app.ENABLE_PVP_ADVANCED:
  1927.             if self.equipmentDialogDict.has_key(vid):
  1928.                 self.equipmentDialogDict[vid].Destroy()
  1929.                 self.CloseEquipmentDialog(vid)
  1930.  
  1931.         dlg = uiequipmentdialog.EquipmentDialog()
  1932.         dlg.SetItemToolTip(self.tooltipItem)
  1933.         dlg.SetCloseEvent(ui.__mem_func__(self.CloseEquipmentDialog))
  1934.         dlg.Open(vid)
  1935.  
  1936.         self.equipmentDialogDict[vid] = dlg
  1937.  
  1938.     def SetEquipmentDialogItem(self, vid, slotIndex, vnum, count):
  1939.         if not vid in self.equipmentDialogDict:
  1940.             return
  1941.         self.equipmentDialogDict[vid].SetEquipmentDialogItem(slotIndex, vnum, count)
  1942.  
  1943.     def SetEquipmentDialogSocket(self, vid, slotIndex, socketIndex, value):
  1944.         if not vid in self.equipmentDialogDict:
  1945.             return
  1946.         self.equipmentDialogDict[vid].SetEquipmentDialogSocket(slotIndex, socketIndex, value)
  1947.  
  1948.     def SetEquipmentDialogAttr(self, vid, slotIndex, attrIndex, type, value):
  1949.         if not vid in self.equipmentDialogDict:
  1950.             return
  1951.         self.equipmentDialogDict[vid].SetEquipmentDialogAttr(slotIndex, attrIndex, type, value)
  1952.  
  1953.     def CloseEquipmentDialog(self, vid):
  1954.         if not vid in self.equipmentDialogDict:
  1955.             return
  1956.  
  1957.         if app.ENABLE_PVP_ADVANCED:
  1958.             if self.equipmentDialogDict.has_key(vid):
  1959.                 self.equipmentDialogDict[vid].Destroy()
  1960.  
  1961.         del self.equipmentDialogDict[vid]
  1962.  
  1963.     #####################################################################################
  1964.  
  1965.     #####################################################################################
  1966.     ### Quest ###  
  1967.     def BINARY_ClearQuest(self, index):
  1968.         btn = self.__FindQuestButton(index)
  1969.         if 0 != btn:
  1970.             self.__DestroyQuestButton(btn)     
  1971.    
  1972.     def RecvQuest(self, index, name):
  1973.         # QUEST_LETTER_IMAGE
  1974.         self.BINARY_RecvQuest(index, name, "file", localeInfo.GetLetterImageName())
  1975.         # END_OF_QUEST_LETTER_IMAGE
  1976.  
  1977.     def BINARY_RecvQuest(self, index, name, iconType, iconName):
  1978.  
  1979.         btn = self.__FindQuestButton(index)
  1980.         if 0 != btn:
  1981.             self.__DestroyQuestButton(btn)
  1982.  
  1983.         btn = uiWhisper.WhisperButton()
  1984.  
  1985.         # QUEST_LETTER_IMAGE
  1986.         ##!! 20061026.levites.Au¨ö¨¬¨ˇ˘ç_AI©öIAo_ˇľ©řA¨ů
  1987.         import item
  1988.         if "item"==iconType:
  1989.             item.SelectItem(int(iconName))
  1990.             buttonImageFileName=item.GetIconImageFileName()
  1991.         else:
  1992.             buttonImageFileName=iconName
  1993.  
  1994.         if iconName and (iconType not in ("item", "file")): # type "ex" implied
  1995.             btn.SetUpVisual("d:/ymir work/ui/game/quest/questicon/%s" % (iconName.replace("open", "close")))
  1996.             btn.SetOverVisual("d:/ymir work/ui/game/quest/questicon/%s" % (iconName))
  1997.             btn.SetDownVisual("d:/ymir work/ui/game/quest/questicon/%s" % (iconName))
  1998.         else:
  1999.             if localeInfo.IsEUROPE():
  2000.                 btn.SetUpVisual(localeInfo.GetLetterCloseImageName())
  2001.                 btn.SetOverVisual(localeInfo.GetLetterOpenImageName())
  2002.                 btn.SetDownVisual(localeInfo.GetLetterOpenImageName())
  2003.             else:
  2004.                 btn.SetUpVisual(buttonImageFileName)
  2005.                 btn.SetOverVisual(buttonImageFileName)
  2006.                 btn.SetDownVisual(buttonImageFileName)
  2007.                 btn.Flash()
  2008.         # END_OF_QUEST_LETTER_IMAGE
  2009.  
  2010.         if localeInfo.IsARABIC():
  2011.             btn.SetToolTipText(name, 0, 35)
  2012.             btn.ToolTipText.SetHorizontalAlignCenter()
  2013.         else:
  2014.             btn.SetToolTipText(name, -20, 35)
  2015.             btn.ToolTipText.SetHorizontalAlignLeft()
  2016.  
  2017.         listOfTypes = iconType.split(",")
  2018.         if "blink" in listOfTypes:
  2019.             btn.Flash()
  2020.  
  2021.         listOfColors = {
  2022.             "golden":   0xFFffa200,
  2023.             "green":    0xFF00e600,
  2024.             "blue":     0xFF0099ff,
  2025.             "purple":   0xFFcc33ff,
  2026.  
  2027.             "fucsia":   0xFFcc0099,
  2028.             "aqua":     0xFF00ffff,
  2029.         }
  2030.         for k,v in listOfColors.iteritems():
  2031.             if k in listOfTypes:
  2032.                 btn.ToolTipText.SetPackedFontColor(v)
  2033.  
  2034.         btn.SetEvent(ui.__mem_func__(self.__StartQuest), btn)
  2035.         btn.Show()
  2036.  
  2037.         btn.index = index
  2038.         btn.name = name
  2039.  
  2040.         self.questButtonList.insert(0, btn)
  2041.         self.__ArrangeQuestButton()
  2042.  
  2043.     def __ArrangeQuestButton(self):
  2044.  
  2045.         screenWidth = wndMgr.GetScreenWidth()
  2046.         screenHeight = wndMgr.GetScreenHeight()
  2047.  
  2048.         ##!! 20061026.levites.Äů˝şĆ®_Ŕ§Äˇ_ş¸Á¤
  2049.         if self.wndParty.IsShow():
  2050.             xPos = 100 + 30
  2051.         else:
  2052.             xPos = 20
  2053.  
  2054.         if localeInfo.IsARABIC():
  2055.             xPos = xPos + 15
  2056.  
  2057.         yPos = 170 * screenHeight / 600
  2058.         yCount = (screenHeight - 330) / 63
  2059.  
  2060.         count = 0
  2061.         for btn in self.questButtonList:
  2062.  
  2063.             btn.SetPosition(xPos + (int(count/yCount) * 100), yPos + (count%yCount * 63))
  2064.             count += 1
  2065.             global IsQBHide
  2066.             if IsQBHide:
  2067.                 btn.Hide()
  2068.             else:
  2069.                 btn.Show()
  2070.  
  2071.     def __StartQuest(self, btn):
  2072.         event.QuestButtonClick(btn.index)
  2073.         self.__DestroyQuestButton(btn)
  2074.  
  2075.     def __FindQuestButton(self, index):
  2076.         for btn in self.questButtonList:
  2077.             if btn.index == index:
  2078.                 return btn
  2079.  
  2080.         return 0
  2081.  
  2082.     def __DestroyQuestButton(self, btn):
  2083.         btn.SetEvent(0)
  2084.         self.questButtonList.remove(btn)
  2085.         self.__ArrangeQuestButton()
  2086.  
  2087.     def HideAllQuestButton(self):
  2088.         for btn in self.questButtonList:
  2089.             btn.Hide()
  2090.  
  2091.     def ShowAllQuestButton(self):
  2092.         for btn in self.questButtonList:
  2093.             btn.Show()
  2094.     #####################################################################################
  2095.  
  2096.     #####################################################################################
  2097.     ### Whisper ###
  2098.  
  2099.     def __InitWhisper(self):
  2100.         chat.InitWhisper(self)
  2101.  
  2102.     ## äĆĂâŔÇ "¸Ţ˝ĂÁö ş¸ł»±â"¸¦ ´­·¶Ŕ»¶§ Ŕ̸§ ľř´Â ´ëȭâŔ» ż©´Â ÇÔĽö
  2103.     ## Ŕ̸§ŔĚ ľř±â ¶§ą®żˇ ±âÁ¸ŔÇ WhisperDialogDict żÍ ş°µµ·Î °ü¸®µČ´Ů.
  2104.     def OpenWhisperDialogWithoutTarget(self):
  2105.         if not self.dlgWhisperWithoutTarget:
  2106.             dlgWhisper = uiWhisper.WhisperDialog(self.MinimizeWhisperDialog, self.CloseWhisperDialog)
  2107.             dlgWhisper.BindInterface(self)
  2108.             dlgWhisper.LoadDialog()
  2109.             dlgWhisper.OpenWithoutTarget(self.RegisterTemporaryWhisperDialog)
  2110.             dlgWhisper.SetPosition(self.windowOpenPosition*30,self.windowOpenPosition*30)
  2111.             dlgWhisper.Show()
  2112.             self.dlgWhisperWithoutTarget = dlgWhisper
  2113.  
  2114.             self.windowOpenPosition = (self.windowOpenPosition+1) % 5
  2115.  
  2116.         else:
  2117.             self.dlgWhisperWithoutTarget.SetTop()
  2118.             self.dlgWhisperWithoutTarget.OpenWithoutTarget(self.RegisterTemporaryWhisperDialog)
  2119.  
  2120.     ## Ŕ̸§ ľř´Â ´ëȭ⿡Ľ­ Ŕ̸§Ŕ» °áÁ¤ÇßŔ»¶§ WhisperDialogDictżˇ âŔ» łÖľîÁÖ´Â ÇÔĽö
  2121.     def RegisterTemporaryWhisperDialog(self, name):
  2122.         if not self.dlgWhisperWithoutTarget:
  2123.             return
  2124.  
  2125.         btn = self.__FindWhisperButton(name)
  2126.         if 0 != btn:
  2127.             self.__DestroyWhisperButton(btn)
  2128.  
  2129.         elif self.whisperDialogDict.has_key(name):
  2130.             oldDialog = self.whisperDialogDict[name]
  2131.             oldDialog.Destroy()
  2132.             del self.whisperDialogDict[name]
  2133.  
  2134.         self.whisperDialogDict[name] = self.dlgWhisperWithoutTarget
  2135.         self.dlgWhisperWithoutTarget.OpenWithTarget(name)
  2136.         self.dlgWhisperWithoutTarget = None
  2137.         self.__CheckGameMaster(name)
  2138.  
  2139.     ## Äł¸ŻĹÍ ¸Ţ´şŔÇ 1:1 ´ëČ­ Çϱ⸦ ´­·¶Ŕ»¶§ Ŕ̸§Ŕ» °ˇÁö°í ąŮ·Î âŔ» ż©´Â ÇÔĽö
  2140.     def OpenWhisperDialog(self, name):
  2141.         if not self.whisperDialogDict.has_key(name):
  2142.             dlg = self.__MakeWhisperDialog(name)
  2143.             dlg.OpenWithTarget(name)
  2144.             dlg.chatLine.SetFocus()
  2145.             dlg.Show()
  2146.  
  2147.             self.__CheckGameMaster(name)
  2148.             btn = self.__FindWhisperButton(name)
  2149.             if 0 != btn:
  2150.                 self.__DestroyWhisperButton(btn)
  2151.  
  2152.     ## ´Ů¸Ą Äł¸ŻĹÍ·ÎşÎĹÍ ¸ŢĽĽÁö¸¦ ąŢľŇŔ»¶§ ŔĎ´Ü ąöĆ°¸¸ ¶çżö µÎ´Â ÇÔĽö
  2153.     def RecvWhisper(self, name):
  2154.         if not self.whisperDialogDict.has_key(name):
  2155.             btn = self.__FindWhisperButton(name)
  2156.             if 0 == btn:
  2157.                 btn = self.__MakeWhisperButton(name)
  2158.                 btn.Flash()
  2159.  
  2160.                 chat.AppendChat(chat.CHAT_TYPE_NOTICE, localeInfo.RECEIVE_MESSAGE % (name))
  2161.  
  2162.             else:
  2163.                 btn.Flash()
  2164.         elif self.IsGameMasterName(name):
  2165.             dlg = self.whisperDialogDict[name]
  2166.             dlg.SetGameMasterLook()
  2167.  
  2168.     def MakeWhisperButton(self, name):
  2169.         self.__MakeWhisperButton(name)
  2170.  
  2171.     ## ąöĆ°Ŕ» ´­·¶Ŕ»¶§ âŔ» ż©´Â ÇÔĽö
  2172.     def ShowWhisperDialog(self, btn):
  2173.         try:
  2174.             self.__MakeWhisperDialog(btn.name)
  2175.             dlgWhisper = self.whisperDialogDict[btn.name]
  2176.             dlgWhisper.OpenWithTarget(btn.name)
  2177.             dlgWhisper.Show()
  2178.             self.__CheckGameMaster(btn.name)
  2179.         except:
  2180.             import dbg
  2181.             dbg.TraceError("interface.ShowWhisperDialog - Failed to find key")
  2182.  
  2183.         ## ąöĆ° ĂʱâČ­
  2184.         self.__DestroyWhisperButton(btn)
  2185.  
  2186.     ## WhisperDialog ⿡Ľ­ ĂÖĽŇČ­ ¸í·ÉŔ» ĽöÇŕÇßŔ»¶§ ČŁĂâµÇ´Â ÇÔĽö
  2187.     ## âŔ» ĂÖĽŇČ­ ÇŐ´Ď´Ů.
  2188.     def MinimizeWhisperDialog(self, name):
  2189.  
  2190.         if 0 != name:
  2191.             self.__MakeWhisperButton(name)
  2192.  
  2193.         self.CloseWhisperDialog(name)
  2194.  
  2195.     ## WhisperDialog ⿡Ľ­ ´Ý±â ¸í·ÉŔ» ĽöÇŕÇßŔ»¶§ ČŁĂâµÇ´Â ÇÔĽö
  2196.     ## âŔ» Áöżó´Ď´Ů.
  2197.     def CloseWhisperDialog(self, name):
  2198.  
  2199.         if 0 == name:
  2200.  
  2201.             if self.dlgWhisperWithoutTarget:
  2202.                 self.dlgWhisperWithoutTarget.Destroy()
  2203.                 self.dlgWhisperWithoutTarget = None
  2204.  
  2205.             return
  2206.  
  2207.         try:
  2208.             dlgWhisper = self.whisperDialogDict[name]
  2209.             dlgWhisper.Destroy()
  2210.             del self.whisperDialogDict[name]
  2211.         except:
  2212.             import dbg
  2213.             dbg.TraceError("interface.CloseWhisperDialog - Failed to find key")
  2214.  
  2215.     ## ąöĆ°ŔÇ °łĽö°ˇ ąŮ˛îľúŔ»¶§ ąöĆ°Ŕ» ŔçÁ¤·Ä ÇĎ´Â ÇÔĽö
  2216.     def __ArrangeWhisperButton(self):
  2217.  
  2218.         screenWidth = wndMgr.GetScreenWidth()
  2219.         screenHeight = wndMgr.GetScreenHeight()
  2220.  
  2221.         xPos = screenWidth - 70
  2222.         yPos = 170 * screenHeight / 600
  2223.         yCount = (screenHeight - 330) / 63
  2224.         #yCount = (screenHeight - 285) / 63
  2225.  
  2226.         count = 0
  2227.         for button in self.whisperButtonList:
  2228.  
  2229.             button.SetPosition(xPos + (int(count/yCount) * -50), yPos + (count%yCount * 63))
  2230.             count += 1
  2231.  
  2232.     ## Ŕ̸§Ŕ¸·Î Whisper ąöĆ°Ŕ» ĂŁľĆ ¸®ĹĎÇŘ ÁÖ´Â ÇÔĽö
  2233.     ## ąöĆ°Ŕş µńĽĹłĘ¸®·Î ÇĎÁö ľĘ´Â °ÍŔş Á¤·Ä µÇľî ąö·Á ĽřĽ­°ˇ ŔŻÁö µÇÁö ľĘŔ¸¸ç
  2234.     ## ŔĚ·Î ŔÎÇŘ ToolTipµéŔĚ ´Ů¸Ą ąöĆ°µéżˇ ŔÇÇŘ °ˇ·ÁÁö±â ¶§ą®ŔĚ´Ů.
  2235.     def __FindWhisperButton(self, name):
  2236.         for button in self.whisperButtonList:
  2237.             if button.name == name:
  2238.                 return button
  2239.  
  2240.         return 0
  2241.  
  2242.     ## âŔ» ¸¸µě´Ď´Ů.
  2243.     def __MakeWhisperDialog(self, name):
  2244.         dlgWhisper = uiWhisper.WhisperDialog(self.MinimizeWhisperDialog, self.CloseWhisperDialog)
  2245.         dlgWhisper.BindInterface(self)
  2246.         dlgWhisper.LoadDialog()
  2247.         dlgWhisper.SetPosition(self.windowOpenPosition*30,self.windowOpenPosition*30)
  2248.         self.whisperDialogDict[name] = dlgWhisper
  2249.  
  2250.         self.windowOpenPosition = (self.windowOpenPosition+1) % 5
  2251.  
  2252.         return dlgWhisper
  2253.  
  2254.     ## ąöĆ°Ŕ» ¸¸µě´Ď´Ů.
  2255.     def __MakeWhisperButton(self, name):
  2256.         whisperButton = uiWhisper.WhisperButton()
  2257.         whisperButton.SetUpVisual("d:/ymir work/ui/game/windows/btn_mail_up.sub")
  2258.         whisperButton.SetOverVisual("d:/ymir work/ui/game/windows/btn_mail_up.sub")
  2259.         whisperButton.SetDownVisual("d:/ymir work/ui/game/windows/btn_mail_up.sub")
  2260.         if self.IsGameMasterName(name):
  2261.             whisperButton.SetToolTipTextWithColor(name, 0xffffa200)
  2262.         else:
  2263.             whisperButton.SetToolTipText(name)
  2264.         whisperButton.ToolTipText.SetHorizontalAlignCenter()
  2265.         whisperButton.SetEvent(ui.__mem_func__(self.ShowWhisperDialog), whisperButton)
  2266.         whisperButton.Show()
  2267.         whisperButton.name = name
  2268.  
  2269.         self.whisperButtonList.insert(0, whisperButton)
  2270.         self.__ArrangeWhisperButton()
  2271.  
  2272.         return whisperButton
  2273.  
  2274.     def __DestroyWhisperButton(self, button):
  2275.         button.SetEvent(0)
  2276.         self.whisperButtonList.remove(button)
  2277.         self.__ArrangeWhisperButton()
  2278.  
  2279.     def HideAllWhisperButton(self):
  2280.         for btn in self.whisperButtonList:
  2281.             btn.Hide()
  2282.  
  2283.     def ShowAllWhisperButton(self):
  2284.         for btn in self.whisperButtonList:
  2285.             btn.Show()
  2286.  
  2287.     def __CheckGameMaster(self, name):
  2288.         if not self.listGMName.has_key(name):
  2289.             return
  2290.         if self.whisperDialogDict.has_key(name):
  2291.             dlg = self.whisperDialogDict[name]
  2292.             dlg.SetGameMasterLook()
  2293.  
  2294.     def RegisterGameMasterName(self, name):
  2295.         if self.listGMName.has_key(name):
  2296.             return
  2297.         self.listGMName[name] = "GM"
  2298.  
  2299.     def IsGameMasterName(self, name):
  2300.         if self.listGMName.has_key(name):
  2301.             return TRUE
  2302.         else:
  2303.             return FALSE
  2304.  
  2305.     #####################################################################################
  2306.  
  2307.     #####################################################################################
  2308.     ### Guild Building ###
  2309.  
  2310.     def BUILD_OpenWindow(self):
  2311.         self.wndGuildBuilding = uiGuild.BuildGuildBuildingWindow()
  2312.         self.wndGuildBuilding.Open()
  2313.         self.wndGuildBuilding.wnds = self.__HideWindows()
  2314.         self.wndGuildBuilding.SetCloseEvent(ui.__mem_func__(self.BUILD_CloseWindow))
  2315.  
  2316.     def BUILD_CloseWindow(self):
  2317.         self.__ShowWindows(self.wndGuildBuilding.wnds)
  2318.         self.wndGuildBuilding = None
  2319.  
  2320.     def BUILD_OnUpdate(self):
  2321.         if not self.wndGuildBuilding:
  2322.             return
  2323.  
  2324.         if self.wndGuildBuilding.IsPositioningMode():
  2325.             import background
  2326.             x, y, z = background.GetPickingPoint()
  2327.             self.wndGuildBuilding.SetBuildingPosition(x, y, z)
  2328.  
  2329.     def BUILD_OnMouseLeftButtonDown(self):
  2330.         if not self.wndGuildBuilding:
  2331.             return
  2332.  
  2333.         # GUILD_BUILDING
  2334.         if self.wndGuildBuilding.IsPositioningMode():
  2335.             self.wndGuildBuilding.SettleCurrentPosition()
  2336.             return TRUE
  2337.         elif self.wndGuildBuilding.IsPreviewMode():
  2338.             pass
  2339.         else:
  2340.             return TRUE
  2341.         # END_OF_GUILD_BUILDING
  2342.         return FALSE
  2343.  
  2344.     def BUILD_OnMouseLeftButtonUp(self):
  2345.         if not self.wndGuildBuilding:
  2346.             return
  2347.  
  2348.         if not self.wndGuildBuilding.IsPreviewMode():
  2349.             return TRUE
  2350.  
  2351.         return FALSE
  2352.  
  2353.     def BULID_EnterGuildArea(self, areaID):
  2354.         # GUILD_BUILDING
  2355.         mainCharacterName = player.GetMainCharacterName()
  2356.         masterName = guild.GetGuildMasterName()
  2357.  
  2358.         if mainCharacterName != masterName:
  2359.             return
  2360.  
  2361.         if areaID != player.GetGuildID():
  2362.             return
  2363.         # END_OF_GUILD_BUILDING
  2364.  
  2365.         self.wndGameButton.ShowBuildButton()
  2366.  
  2367.     def BULID_ExitGuildArea(self, areaID):
  2368.         self.wndGameButton.HideBuildButton()
  2369.  
  2370.     #####################################################################################
  2371.  
  2372.     def IsEditLineFocus(self):
  2373.         if self.ChatWindow.chatLine.IsFocus():
  2374.             return 1
  2375.  
  2376.         if self.ChatWindow.chatToLine.IsFocus():
  2377.             return 1
  2378.  
  2379.         return 0
  2380.  
  2381.     def EmptyFunction(self):
  2382.         pass
  2383.  
  2384. if __name__ == "__main__":
  2385.  
  2386.     import app
  2387.     import wndMgr
  2388.     import systemSetting
  2389.     import mouseModule
  2390.     import grp
  2391.     import ui
  2392.     import localeInfo
  2393.  
  2394.     app.SetMouseHandler(mouseModule.mouseController)
  2395.     app.SetHairColorEnable(TRUE)
  2396.     wndMgr.SetMouseHandler(mouseModule.mouseController)
  2397.     wndMgr.SetScreenSize(systemSetting.GetWidth(), systemSetting.GetHeight())
  2398.     app.Create(localeInfo.APP_TITLE, systemSetting.GetWidth(), systemSetting.GetHeight(), 1)
  2399.     mouseModule.mouseController.Create()
  2400.  
  2401.     class TestGame(ui.Window):
  2402.         def __init__(self):
  2403.             ui.Window.__init__(self)
  2404.  
  2405.             localeInfo.LoadLocaleData()
  2406.             player.SetItemData(0, 27001, 10)
  2407.             player.SetItemData(1, 27004, 10)
  2408.  
  2409.             self.interface = Interface()
  2410.             self.interface.MakeInterface()
  2411.             self.interface.ShowDefaultWindows()
  2412.             self.interface.RefreshInventory()
  2413.             #self.interface.OpenCubeWindow()
  2414.  
  2415.         def __del__(self):
  2416.             ui.Window.__del__(self)
  2417.  
  2418.         def OnUpdate(self):
  2419.             app.UpdateGame()
  2420.  
  2421.         def OnRender(self):
  2422.             app.RenderGame()
  2423.             grp.PopState()
  2424.             grp.SetInterfaceRenderState()
  2425.  
  2426.     game = TestGame()
  2427.     game.SetSize(systemSetting.GetWidth(), systemSetting.GetHeight())
  2428.     game.Show()
  2429.  
  2430.     app.Loop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement