Guest User

interfacemodule.py

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