Advertisement
Guest User

Untitled

a guest
Mar 19th, 2019
172
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 50.30 KB | None | 0 0
  1. ##
  2. ## Interface
  3. ##
  4.  
  5. import constInfo
  6. import systemSetting
  7. import wndMgr
  8. import chat
  9. import app
  10. import player
  11.  
  12. import uiTaskBar
  13. import uiCharacter
  14. import uiInventory
  15. import uiDragonSoul
  16. import uiChat
  17. import uiMessenger
  18. import guild
  19.  
  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. # ACCESSORY_REFINE_ADD_METIN_STONE
  43. import uiSelectItem
  44. # END_OF_ACCESSORY_REFINE_ADD_METIN_STONE
  45. import uiScriptLocale
  46.  
  47. import event
  48. import locale
  49. import uiAcce
  50. if app.ENABLE_SHOW_CHEST_DROP:
  51.     import uiChestDrop
  52.  
  53. IsQBHide = 0
  54. class Interface(object):
  55.     CHARACTER_STATUS_TAB = 1
  56.     CHARACTER_SKILL_TAB = 2
  57.     LastContactTimeStamp = app.GetTime() - 5
  58.     WaitTime = 12
  59.     State = "Kapali"   
  60.    
  61.     def __init__(self):
  62.         systemSetting.SetInterfaceHandler(self)
  63.         self.windowOpenPosition = 0
  64.         self.dlgWhisperWithoutTarget = None
  65.         self.inputDialog = None
  66.         self.tipBoard = None
  67.         self.bigBoard = None
  68.         self.wndGiftBox = None
  69.  
  70.         # ITEM_MALL
  71.         self.mallPageDlg = None
  72.         # END_OF_ITEM_MALL
  73.  
  74.         self.wndWeb = None
  75.         self.wndTaskBar = None
  76.         self.wndCharacter = None
  77.         self.wndInventory = None
  78.         self.wndExpandedTaskBar = None
  79.         self.wndDragonSoul = None
  80.         self.wndDragonSoulRefine = None
  81.         self.wndChat = None
  82.         self.wndMessenger = None
  83.         self.wndMiniMap = None
  84.         self.wndGuild = None
  85.         self.wndGuildBuilding = None
  86.         self.dlgChestDrop = None
  87.  
  88.         self.listGMName = {}
  89.         self.wndQuestWindow = []
  90.         self.privateShopAdvertisementBoardDict = {}
  91.         self.guildScoreBoardDict = {}
  92.         self.equipmentDialogDict = {}
  93.         event.SetInterfaceWindow(self)
  94.  
  95.     def __del__(self):
  96.         systemSetting.DestroyInterfaceHandler()
  97.         event.SetInterfaceWindow(None)
  98.  
  99.     def __OnClickGiftButton(self):
  100.         if self.wndGameButton:
  101.             if not self.wndGiftBox.IsShow():
  102.                 self.wndGiftBox.Open()
  103.             else:
  104.                 self.wndGiftBox.Close()
  105.  
  106.     def ClearGift(self):
  107.         if self.wndGameButton:
  108.             self.wndGameButton.HideGiftButton()
  109.         if self.wndGiftBox:
  110.             self.wndGiftBox.Clear()
  111.             self.wndGiftBox.Refresh()
  112.     ################################
  113.     ## Make Windows & Dialogs
  114.     def __MakeUICurtain(self):
  115.         wndUICurtain = ui.Bar("TOP_MOST")
  116.         wndUICurtain.SetSize(wndMgr.GetScreenWidth(), wndMgr.GetScreenHeight())
  117.         wndUICurtain.SetColor(0x77000000)
  118.         wndUICurtain.Hide()
  119.         self.wndUICurtain = wndUICurtain
  120.  
  121.     def __MakeMessengerWindow(self):
  122.         self.wndMessenger = uiMessenger.MessengerWindow()
  123.  
  124.         from _weakref import proxy
  125.         self.wndMessenger.SetWhisperButtonEvent(lambda n,i=proxy(self):i.OpenWhisperDialog(n))
  126.         self.wndMessenger.SetGuildButtonEvent(ui.__mem_func__(self.ToggleGuildWindow))
  127.  
  128.     def __MakeGuildWindow(self):
  129.         self.wndGuild = uiGuild.GuildWindow()
  130.  
  131.     def __MakeChatWindow(self):
  132.        
  133.         wndChat = uiChat.ChatWindow()
  134.        
  135.         wndChat.SetSize(wndChat.CHAT_WINDOW_WIDTH, 0)
  136.         wndChat.SetPosition(wndMgr.GetScreenWidth()/2 - wndChat.CHAT_WINDOW_WIDTH/2, wndMgr.GetScreenHeight() - wndChat.EDIT_LINE_HEIGHT - 37)
  137.         wndChat.SetHeight(200)
  138.         wndChat.Refresh()
  139.         wndChat.Show()
  140.  
  141.         self.wndChat = wndChat
  142.         self.wndChat.BindInterface(self)
  143.         self.wndChat.SetSendWhisperEvent(ui.__mem_func__(self.OpenWhisperDialogWithoutTarget))
  144.         self.wndChat.SetOpenChatLogEvent(ui.__mem_func__(self.ToggleChatLogWindow))
  145.  
  146.     def __MakeTaskBar(self):
  147.         wndTaskBar = uiTaskBar.TaskBar()
  148.         wndTaskBar.LoadWindow()
  149.         self.wndTaskBar = wndTaskBar
  150.         self.wndTaskBar.SetToggleButtonEvent(uiTaskBar.TaskBar.BUTTON_CHARACTER, ui.__mem_func__(self.ToggleCharacterWindowStatusPage))
  151.         self.wndTaskBar.SetToggleButtonEvent(uiTaskBar.TaskBar.BUTTON_INVENTORY, ui.__mem_func__(self.ToggleInventoryWindow))
  152.         self.wndTaskBar.SetToggleButtonEvent(uiTaskBar.TaskBar.BUTTON_MESSENGER, ui.__mem_func__(self.ToggleMessenger))
  153.         self.wndTaskBar.SetToggleButtonEvent(uiTaskBar.TaskBar.BUTTON_SYSTEM, ui.__mem_func__(self.ToggleSystemDialog))
  154.         if uiTaskBar.TaskBar.IS_EXPANDED:
  155.             self.wndTaskBar.SetToggleButtonEvent(uiTaskBar.TaskBar.BUTTON_EXPAND, ui.__mem_func__(self.ToggleExpandedButton))
  156.             self.wndExpandedTaskBar = uiTaskBar.ExpandedTaskBar()
  157.             self.wndExpandedTaskBar.LoadWindow()
  158.             self.wndExpandedTaskBar.SetToggleButtonEvent(uiTaskBar.ExpandedTaskBar.BUTTON_DRAGON_SOUL, ui.__mem_func__(self.ToggleDragonSoulWindow))
  159.  
  160.         else:
  161.             self.wndTaskBar.SetToggleButtonEvent(uiTaskBar.TaskBar.BUTTON_CHAT, ui.__mem_func__(self.ToggleChat))
  162.        
  163.         self.wndEnergyBar = None
  164.         import app
  165.         if app.ENABLE_ENERGY_SYSTEM:
  166.             wndEnergyBar = uiTaskBar.EnergyBar()
  167.             wndEnergyBar.LoadWindow()
  168.             self.wndEnergyBar = wndEnergyBar   
  169.         import uiGift
  170.         wndGiftBox=uiGift.GiftDialog()
  171.         wndGiftBox.Hide()
  172.         self.wndGiftBox=wndGiftBox
  173.  
  174.     def __MakeParty(self):
  175.         wndParty = uiParty.PartyWindow()
  176.         wndParty.Hide()
  177.         self.wndParty = wndParty
  178.  
  179.     def __MakeGameButtonWindow(self):
  180.         wndGameButton = uiGameButton.GameButtonWindow()
  181.         wndGameButton.SetTop()
  182.         wndGameButton.Show()
  183.         wndGameButton.SetButtonEvent("STATUS", ui.__mem_func__(self.__OnClickStatusPlusButton))
  184.         wndGameButton.SetButtonEvent("SKILL", ui.__mem_func__(self.__OnClickSkillPlusButton))
  185.         wndGameButton.SetButtonEvent("QUEST", ui.__mem_func__(self.__OnClickQuestButton))
  186.         wndGameButton.SetButtonEvent("HELP", ui.__mem_func__(self.__OnClickHelpButton))
  187.         wndGameButton.SetButtonEvent("BUILD", ui.__mem_func__(self.__OnClickBuildButton))
  188.         wndGameButton.SetButtonEvent("GIFT", ui.__mem_func__(self.__OnClickGiftButton))
  189.  
  190.         self.wndGameButton = wndGameButton
  191.  
  192.     def __IsChatOpen(self):
  193.         return TRUE
  194.        
  195.     def __MakeWindows(self):
  196.         wndCharacter = uiCharacter.CharacterWindow()
  197.         wndInventory = uiInventory.InventoryWindow()
  198.         wndInventory.BindInterfaceClass(self)
  199.         if app.ENABLE_DRAGON_SOUL_SYSTEM:
  200.             wndDragonSoul = uiDragonSoul.DragonSoulWindow()
  201.             wndDragonSoulRefine = uiDragonSoul.DragonSoulRefineWindow()
  202.         else:
  203.             wndDragonSoul = None
  204.             wndDragonSoulRefine = None
  205.  
  206.         wndMiniMap = uiMiniMap.MiniMap()
  207.         wndSafebox = uiSafebox.SafeboxWindow()
  208.        
  209.         # ITEM_MALL
  210.         wndMall = uiSafebox.MallWindow()
  211.         self.wndMall = wndMall
  212.         # END_OF_ITEM_MALL
  213.  
  214.         wndChatLog = uiChat.ChatLogWindow()
  215.         wndChatLog.BindInterface(self)
  216.        
  217.         self.wndCharacter = wndCharacter
  218.         self.wndInventory = wndInventory
  219.         self.wndDragonSoul = wndDragonSoul
  220.         self.wndDragonSoulRefine = wndDragonSoulRefine
  221.         self.wndMiniMap = wndMiniMap
  222.         self.wndSafebox = wndSafebox
  223.         self.wndChatLog = wndChatLog
  224.         self.dlgChestDrop = uiChestDrop.ChestDropWindow()
  225.        
  226.         if app.ENABLE_DRAGON_SOUL_SYSTEM:
  227.             self.wndDragonSoul.SetDragonSoulRefineWindow(self.wndDragonSoulRefine)
  228.             self.wndDragonSoulRefine.SetInventoryWindows(self.wndInventory, self.wndDragonSoul)
  229.             self.wndInventory.SetDragonSoulRefineWindow(self.wndDragonSoulRefine)
  230.  
  231.     def __MakeDialogs(self):
  232.         self.dlgExchange = uiExchange.ExchangeDialog()
  233.         self.dlgExchange.LoadDialog()
  234.         self.dlgExchange.SetCenterPosition()
  235.         self.dlgExchange.Hide()
  236.  
  237.         self.dlgPointReset = uiPointReset.PointResetDialog()
  238.         self.dlgPointReset.LoadDialog()
  239.         self.dlgPointReset.Hide()
  240.  
  241.         self.dlgShop = uiShop.ShopDialog()
  242.         self.dlgShop.LoadDialog()
  243.         self.dlgShop.Hide()
  244.  
  245.         self.dlgRestart = uiRestart.RestartDialog()
  246.         self.dlgRestart.LoadDialog()
  247.         self.dlgRestart.Hide()
  248.  
  249.         self.dlgSystem = uiSystem.SystemDialog()
  250.         self.dlgSystem.LoadDialog()
  251.         self.dlgSystem.SetOpenHelpWindowEvent(ui.__mem_func__(self.OpenHelpWindow))
  252.  
  253.         self.dlgSystem.Hide()
  254.  
  255.         self.dlgPassword = uiSafebox.PasswordDialog()
  256.         self.dlgPassword.Hide()
  257.  
  258.         self.hyperlinkItemTooltip = uiToolTip.HyperlinkItemToolTip()
  259.         self.hyperlinkItemTooltip.Hide()
  260.  
  261.         self.tooltipItem = uiToolTip.ItemToolTip()
  262.         self.tooltipItem.Hide()
  263.  
  264.         self.tooltipSkill = uiToolTip.SkillToolTip()
  265.         self.tooltipSkill.Hide()
  266.  
  267.         self.privateShopBuilder = uiPrivateShopBuilder.PrivateShopBuilder()
  268.         self.privateShopBuilder.Hide()
  269.  
  270.         self.dlgRefineNew = uiRefine.RefineDialogNew()
  271.         self.dlgRefineNew.Hide()
  272.  
  273.     def __MakeHelpWindow(self):
  274.         self.wndHelp = uiHelp.HelpWindow()
  275.         self.wndHelp.LoadDialog()
  276.         self.wndHelp.SetCloseEvent(ui.__mem_func__(self.CloseHelpWindow))
  277.         self.wndHelp.Hide()
  278.  
  279.     def __MakeTipBoard(self):
  280.         self.tipBoard = uiTip.TipBoard()
  281.         self.tipBoard.Hide()
  282.  
  283.         self.bigBoard = uiTip.BigBoard()
  284.         self.bigBoard.Hide()
  285.  
  286.     def __MakeWebWindow(self):
  287.         if constInfo.IN_GAME_SHOP_ENABLE:
  288.             import uiWeb
  289.             self.wndWeb = uiWeb.WebWindow()
  290.             self.wndWeb.LoadWindow()
  291.             self.wndWeb.Hide()
  292.  
  293.     def __MakeAcceWindow(self):
  294.         self.wndAcce = uiAcce.AcceWindow()
  295.         self.wndAcce.LoadWindow()
  296.         self.wndAcce.Hide()
  297.         self.wndAcceAbs = uiAcce.AcceAbsorbWindow()
  298.         self.wndAcceAbs.LoadWindow()
  299.         self.wndAcceAbs.Hide()         
  300.            
  301.     def __MakeCubeWindow(self):
  302.         self.wndCube = uiCube.CubeWindow()
  303.         self.wndCube.LoadWindow()
  304.         self.wndCube.Hide()
  305.  
  306.     def __MakeCubeResultWindow(self):
  307.         self.wndCubeResult = uiCube.CubeResultWindow()
  308.         self.wndCubeResult.LoadWindow()
  309.         self.wndCubeResult.Hide()
  310.  
  311.     # ACCESSORY_REFINE_ADD_METIN_STONE
  312.     def __MakeItemSelectWindow(self):
  313.         self.wndItemSelect = uiSelectItem.SelectItemWindow()
  314.         self.wndItemSelect.Hide()
  315.     # END_OF_ACCESSORY_REFINE_ADD_METIN_STONE
  316.     self.dlgChestDrop.SetItemToolTip(self.tooltipItem)
  317.                
  318.     def MakeInterface(self):
  319.         self.__MakeMessengerWindow()
  320.         self.__MakeGuildWindow()
  321.         self.__MakeChatWindow()
  322.         self.__MakeParty()
  323.         self.__MakeWindows()
  324.         self.__MakeDialogs()
  325.  
  326.         self.__MakeUICurtain()
  327.         self.__MakeTaskBar()
  328.         self.__MakeGameButtonWindow()
  329.         self.__MakeHelpWindow()
  330.         self.__MakeTipBoard()
  331.         self.__MakeWebWindow()
  332.         self.__MakeAcceWindow()
  333.         self.__MakeCubeWindow()
  334.         self.__MakeCubeResultWindow()
  335.        
  336.        
  337.         # ACCESSORY_REFINE_ADD_METIN_STONE
  338.         self.__MakeItemSelectWindow()
  339.         # END_OF_ACCESSORY_REFINE_ADD_METIN_STONE
  340.  
  341.         self.questButtonList = []
  342.         self.whisperButtonList = []
  343.         self.whisperDialogDict = {}
  344.         self.privateShopAdvertisementBoardDict = {}
  345.  
  346.         self.wndInventory.SetItemToolTip(self.tooltipItem)
  347.         if app.ENABLE_DRAGON_SOUL_SYSTEM:
  348.             self.wndDragonSoul.SetItemToolTip(self.tooltipItem)
  349.             self.wndDragonSoulRefine.SetItemToolTip(self.tooltipItem)
  350.         self.wndSafebox.SetItemToolTip(self.tooltipItem)
  351.         self.wndAcce.SetItemToolTip(self.tooltipItem)
  352.         self.wndAcceAbs.SetItemToolTip(self.tooltipItem)
  353.         self.wndCube.SetItemToolTip(self.tooltipItem)
  354.         self.wndCubeResult.SetItemToolTip(self.tooltipItem)
  355.  
  356.         # ITEM_MALL
  357.         self.wndMall.SetItemToolTip(self.tooltipItem)
  358.         # END_OF_ITEM_MALL
  359.         if self.dlgChestDrop:
  360.             self.dlgChestDrop.Destroy()
  361.  
  362.         self.wndCharacter.SetSkillToolTip(self.tooltipSkill)
  363.         self.wndTaskBar.SetItemToolTip(self.tooltipItem)
  364.         self.wndTaskBar.SetSkillToolTip(self.tooltipSkill)
  365.         self.wndGuild.SetSkillToolTip(self.tooltipSkill)
  366.  
  367.         # ACCESSORY_REFINE_ADD_METIN_STONE
  368.         self.wndItemSelect.SetItemToolTip(self.tooltipItem)
  369.         # END_OF_ACCESSORY_REFINE_ADD_METIN_STONE
  370.  
  371.         self.dlgShop.SetItemToolTip(self.tooltipItem)
  372.         self.dlgExchange.SetItemToolTip(self.tooltipItem)
  373.         self.privateShopBuilder.SetItemToolTip(self.tooltipItem)
  374.  
  375.         self.__InitWhisper()
  376.         self.DRAGON_SOUL_IS_QUALIFIED = FALSE
  377.  
  378.     def MakeHyperlinkTooltip(self, hyperlink):
  379.         tokens = hyperlink.split(":")
  380.         if tokens and len(tokens):
  381.             type = tokens[0]
  382.             if "item" == type:
  383.                 self.hyperlinkItemTooltip.SetHyperlinkItem(tokens)
  384.  
  385.     ## Make Windows & Dialogs
  386.     ################################
  387.  
  388.     def Close(self):
  389.         if self.wndGiftBox:
  390.             self.wndGiftBox.Clear()
  391.             self.wndGiftBox.Hide()
  392.             self.wndGiftBox.Destroy()
  393.         if self.dlgWhisperWithoutTarget:
  394.             self.dlgWhisperWithoutTarget.Destroy()
  395.             del self.dlgWhisperWithoutTarget
  396.  
  397.         if uiQuest.QuestDialog.__dict__.has_key("QuestCurtain"):
  398.             uiQuest.QuestDialog.QuestCurtain.Close()
  399.  
  400.         if self.wndQuestWindow:
  401.             for eachQuestWindow in self.wndQuestWindow:
  402.                 eachQuestWindow.nextCurtainMode = -1
  403.                 eachQuestWindow.CloseSelf()
  404.                 eachQuestWindow = None
  405.  
  406.         if self.wndChat:
  407.             self.wndChat.Destroy()
  408.  
  409.         if self.wndTaskBar:
  410.             self.wndTaskBar.Destroy()
  411.        
  412.         if self.wndExpandedTaskBar:
  413.             self.wndExpandedTaskBar.Destroy()
  414.            
  415.         if self.wndEnergyBar:
  416.             self.wndEnergyBar.Destroy()
  417.  
  418.         if self.wndCharacter:
  419.             self.wndCharacter.Destroy()
  420.  
  421.         if self.wndInventory:
  422.             self.wndInventory.Destroy()
  423.            
  424.         if self.wndDragonSoul:
  425.             self.wndDragonSoul.Destroy()
  426.  
  427.         if self.wndDragonSoulRefine:
  428.             self.wndDragonSoulRefine.Destroy()
  429.  
  430.         if self.dlgExchange:
  431.             self.dlgExchange.Destroy()
  432.  
  433.         if self.dlgPointReset:
  434.             self.dlgPointReset.Destroy()
  435.  
  436.         if self.dlgShop:
  437.             self.dlgShop.Destroy()
  438.  
  439.         if self.dlgRestart:
  440.             self.dlgRestart.Destroy()
  441.  
  442.         if self.dlgSystem:
  443.             self.dlgSystem.Destroy()
  444.  
  445.         if self.dlgPassword:
  446.             self.dlgPassword.Destroy()
  447.  
  448.         if self.wndMiniMap:
  449.             self.wndMiniMap.Destroy()
  450.  
  451.         if self.wndSafebox:
  452.             self.wndSafebox.Destroy()
  453.  
  454.         if self.wndWeb:
  455.             self.wndWeb.Destroy()
  456.             self.wndWeb = None
  457.  
  458.         if self.wndMall:
  459.             self.wndMall.Destroy()
  460.  
  461.         if self.wndParty:
  462.             self.wndParty.Destroy()
  463.  
  464.         if self.wndHelp:
  465.             self.wndHelp.Destroy()
  466.            
  467.         if self.wndAcce:
  468.             self.wndAcce.Destroy()
  469.  
  470.         if self.wndAcceAbs:
  471.             self.wndAcceAbs.Destroy()          
  472.  
  473.         if self.wndCube:
  474.             self.wndCube.Destroy()
  475.            
  476.         if self.wndCubeResult:
  477.             self.wndCubeResult.Destroy()
  478.  
  479.         if self.wndMessenger:
  480.             self.wndMessenger.Destroy()
  481.  
  482.         if self.wndGuild:
  483.             self.wndGuild.Destroy()
  484.  
  485.         if self.privateShopBuilder:
  486.             self.privateShopBuilder.Destroy()
  487.  
  488.         if self.dlgRefineNew:
  489.             self.dlgRefineNew.Destroy()
  490.  
  491.         if self.wndGuildBuilding:
  492.             self.wndGuildBuilding.Destroy()
  493.  
  494.         if self.wndGameButton:
  495.             self.wndGameButton.Destroy()
  496.  
  497.         # ITEM_MALL
  498.         if self.mallPageDlg:
  499.             self.mallPageDlg.Destroy()
  500.         # END_OF_ITEM_MALL
  501.  
  502.         # ACCESSORY_REFINE_ADD_METIN_STONE
  503.         if self.wndItemSelect:
  504.             self.wndItemSelect.Destroy()
  505.         # END_OF_ACCESSORY_REFINE_ADD_METIN_STONE
  506.  
  507.         self.wndChatLog.Destroy()
  508.         for btn in self.questButtonList:
  509.             btn.SetEvent(0)
  510.         for btn in self.whisperButtonList:
  511.             btn.SetEvent(0)
  512.         for dlg in self.whisperDialogDict.itervalues():
  513.             dlg.Destroy()
  514.         for brd in self.guildScoreBoardDict.itervalues():
  515.             brd.Destroy()
  516.         for dlg in self.equipmentDialogDict.itervalues():
  517.             dlg.Destroy()
  518.  
  519.         # ITEM_MALL
  520.         del self.mallPageDlg
  521.         # END_OF_ITEM_MALL
  522.  
  523.         del self.wndGuild
  524.         del self.wndMessenger
  525.         del self.wndUICurtain
  526.         del self.wndChat
  527.         del self.wndTaskBar
  528.         if self.wndExpandedTaskBar:
  529.             del self.wndExpandedTaskBar
  530.         del self.wndEnergyBar
  531.         del self.wndCharacter
  532.         del self.wndInventory
  533.         if self.wndDragonSoul:
  534.             del self.wndDragonSoul
  535.         if self.wndDragonSoulRefine:
  536.             del self.wndDragonSoulRefine
  537.         del self.dlgExchange
  538.         del self.dlgPointReset
  539.         del self.dlgShop
  540.         del self.dlgRestart
  541.         del self.dlgSystem
  542.         del self.dlgPassword
  543.         del self.hyperlinkItemTooltip
  544.         del self.tooltipItem
  545.         del self.tooltipSkill
  546.         del self.wndMiniMap
  547.         del self.wndSafebox
  548.         del self.wndMall
  549.         del self.wndParty
  550.         del self.wndHelp
  551.         del self.wndAcce
  552.         del self.wndAcceAbs
  553.         del self.wndCube
  554.         del self.wndCubeResult
  555.         del self.privateShopBuilder
  556.         del self.inputDialog
  557.         del self.wndChatLog
  558.         del self.dlgRefineNew
  559.         del self.wndGuildBuilding
  560.         del self.wndGameButton
  561.         del self.tipBoard
  562.         del self.bigBoard
  563.         del self.wndItemSelect
  564.         del self.wndGiftBox
  565.         if self.dlgChestDrop:
  566.             del self.dlgChestDrop
  567.  
  568.         self.questButtonList = []
  569.         self.whisperButtonList = []
  570.         self.whisperDialogDict = {}
  571.         self.privateShopAdvertisementBoardDict = {}
  572.         self.guildScoreBoardDict = {}
  573.         self.equipmentDialogDict = {}
  574.  
  575.         uiChat.DestroyChatInputSetWindow()
  576.  
  577.     def OpenGift(self):
  578.         if self.wndGameButton:
  579.             self.wndGameButton.ShowGiftButton()
  580.  
  581.     ## Skill
  582.     def OnUseSkill(self, slotIndex, coolTime):
  583.         self.wndCharacter.OnUseSkill(slotIndex, coolTime)
  584.         self.wndTaskBar.OnUseSkill(slotIndex, coolTime)
  585.         self.wndGuild.OnUseSkill(slotIndex, coolTime)
  586.  
  587.     def OnActivateSkill(self, slotIndex):
  588.         self.wndCharacter.OnActivateSkill(slotIndex)
  589.         self.wndTaskBar.OnActivateSkill(slotIndex)
  590.  
  591.     def OnDeactivateSkill(self, slotIndex):
  592.         self.wndCharacter.OnDeactivateSkill(slotIndex)
  593.         self.wndTaskBar.OnDeactivateSkill(slotIndex)
  594.  
  595.     def OnChangeCurrentSkill(self, skillSlotNumber):
  596.         self.wndTaskBar.OnChangeCurrentSkill(skillSlotNumber)
  597.  
  598.     def SelectMouseButtonEvent(self, dir, event):
  599.         self.wndTaskBar.SelectMouseButtonEvent(dir, event)
  600.  
  601.     ## Refresh
  602.     def RefreshAlignment(self):
  603.         self.wndCharacter.RefreshAlignment()
  604.  
  605.     def RefreshStatus(self):
  606.         self.wndTaskBar.RefreshStatus()
  607.         self.wndCharacter.RefreshStatus()
  608.         self.wndInventory.RefreshStatus()
  609.         if self.wndEnergyBar:
  610.             self.wndEnergyBar.RefreshStatus()
  611.         if app.ENABLE_DRAGON_SOUL_SYSTEM:
  612.             self.wndDragonSoul.RefreshStatus()
  613.  
  614.     def RefreshStamina(self):
  615.         self.wndTaskBar.RefreshStamina()
  616.  
  617.     def RefreshSkill(self):
  618.         self.wndCharacter.RefreshSkill()
  619.         self.wndTaskBar.RefreshSkill()
  620.  
  621.     def RefreshInventory(self):
  622.         self.wndTaskBar.RefreshQuickSlot()
  623.         self.wndInventory.RefreshItemSlot()
  624.         if app.ENABLE_DRAGON_SOUL_SYSTEM:
  625.             self.wndDragonSoul.RefreshItemSlot()
  626.  
  627.     def RefreshCharacter(self): ## Character ÆäÀÌÁöÀÇ ¾ó±¼, Inventory ÆäÀÌÁöÀÇ Àü½Å ±×¸² µîÀÇ Refresh
  628.         self.wndCharacter.RefreshCharacter()
  629.         self.wndTaskBar.RefreshQuickSlot()
  630.  
  631.     def RefreshQuest(self):
  632.         self.wndCharacter.RefreshQuest()
  633.  
  634.     def RefreshSafebox(self):
  635.         self.wndSafebox.RefreshSafebox()
  636.  
  637.     # ITEM_MALL
  638.     def RefreshMall(self):
  639.         self.wndMall.RefreshMall()
  640.  
  641.     def OpenItemMall(self):
  642.         if not self.mallPageDlg:
  643.             self.mallPageDlg = uiShop.MallPageDialog()
  644.  
  645.         self.mallPageDlg.Open()
  646.     # END_OF_ITEM_MALL
  647.  
  648.     def RefreshMessenger(self):
  649.         self.wndMessenger.RefreshMessenger()
  650.  
  651.     def RefreshGuildInfoPage(self):
  652.         self.wndGuild.RefreshGuildInfoPage()
  653.  
  654.     def RefreshGuildBoardPage(self):
  655.         self.wndGuild.RefreshGuildBoardPage()
  656.  
  657.     def RefreshGuildMemberPage(self):
  658.         self.wndGuild.RefreshGuildMemberPage()
  659.  
  660.     def RefreshGuildMemberPageGradeComboBox(self):
  661.         self.wndGuild.RefreshGuildMemberPageGradeComboBox()
  662.  
  663.     def RefreshGuildSkillPage(self):
  664.         self.wndGuild.RefreshGuildSkillPage()
  665.  
  666.     def RefreshGuildGradePage(self):
  667.         self.wndGuild.RefreshGuildGradePage()
  668.  
  669.     def DeleteGuild(self):
  670.         self.wndMessenger.ClearGuildMember()
  671.         self.wndGuild.DeleteGuild()
  672.  
  673.     def RefreshMobile(self):
  674.         self.dlgSystem.RefreshMobile()
  675.  
  676.     def OnMobileAuthority(self):
  677.         self.dlgSystem.OnMobileAuthority()
  678.  
  679.     def OnBlockMode(self, mode):
  680.         self.dlgSystem.OnBlockMode(mode)
  681.  
  682.     ## Calling Functions
  683.     # PointReset
  684.     def OpenPointResetDialog(self):
  685.         self.dlgPointReset.Show()
  686.         self.dlgPointReset.SetTop()
  687.  
  688.     def ClosePointResetDialog(self):
  689.         self.dlgPointReset.Close()
  690.  
  691.     # Shop
  692.     def OpenShopDialog(self, vid):
  693.         self.wndInventory.Show()
  694.         self.wndInventory.SetTop()
  695.         self.dlgShop.Open(vid)
  696.         self.dlgShop.SetTop()
  697.  
  698.     def CloseShopDialog(self):
  699.         self.dlgShop.Close()
  700.  
  701.     def RefreshShopDialog(self):
  702.         self.dlgShop.Refresh()
  703.  
  704.     def AddChestDropInfo(self, chestVnum, pageIndex, slotIndex, itemVnum, itemCount):
  705.         self.dlgChestDrop.AddChestDropItem(int(chestVnum), int(pageIndex), int(slotIndex), int(itemVnum), int(itemCount))
  706.  
  707.     def RefreshChestDropInfo(self, chestVnum):
  708.         self.dlgChestDrop.RefreshItems(chestVnum)
  709.  
  710.     ## Quest
  711.     def OpenCharacterWindowQuestPage(self):
  712.         self.wndCharacter.Show()
  713.         self.wndCharacter.SetState("QUEST")
  714.  
  715.     def OpenQuestWindow(self, skin, idx):
  716.  
  717.         wnds = ()
  718.  
  719.         q = uiQuest.QuestDialog(skin, idx)
  720.         q.SetWindowName("QuestWindow" + str(idx))
  721.         q.Show()
  722.         if skin:
  723.             q.Lock()
  724.             wnds = self.__HideWindows()
  725.  
  726.             # UNKNOWN_UPDATE
  727.             q.AddOnDoneEvent(lambda tmp_self, args=wnds: self.__ShowWindows(args))
  728.             # END_OF_UNKNOWN_UPDATE
  729.  
  730.         if skin:
  731.             q.AddOnCloseEvent(q.Unlock)
  732.        
  733.         q.AddOnCloseEvent(lambda s = self, qw = q: s.__dict__.__getitem__("wndQuestWindow").remove(qw))
  734.  
  735.         # UNKNOWN_UPDATE
  736.         self.wndQuestWindow.append(q)
  737.         # END_OF_UNKNOWN_UPDATE
  738.  
  739.     ## Exchange
  740.     def StartExchange(self):
  741.         self.dlgExchange.OpenDialog()
  742.         self.dlgExchange.Refresh()
  743.  
  744.     def EndExchange(self):
  745.         self.dlgExchange.CloseDialog()
  746.  
  747.     def RefreshExchange(self):
  748.         self.dlgExchange.Refresh()
  749.  
  750.     ## Party
  751.     def AddPartyMember(self, pid, name):
  752.         self.wndParty.AddPartyMember(pid, name)
  753.  
  754.         self.__ArrangeQuestButton()
  755.  
  756.     def UpdatePartyMemberInfo(self, pid):
  757.         self.wndParty.UpdatePartyMemberInfo(pid)
  758.  
  759.     def RemovePartyMember(self, pid):
  760.         self.wndParty.RemovePartyMember(pid)
  761.  
  762.         ##!! 20061026.levites.Äù½ºÆ®_À§Ä¡_º¸Á¤
  763.         self.__ArrangeQuestButton()
  764.  
  765.     def LinkPartyMember(self, pid, vid):
  766.         self.wndParty.LinkPartyMember(pid, vid)
  767.  
  768.     def UnlinkPartyMember(self, pid):
  769.         self.wndParty.UnlinkPartyMember(pid)
  770.  
  771.     def UnlinkAllPartyMember(self):
  772.         self.wndParty.UnlinkAllPartyMember()
  773.  
  774.     def ExitParty(self):
  775.         self.wndParty.ExitParty()
  776.  
  777.         ##!! 20061026.levites.Äù½ºÆ®_À§Ä¡_º¸Á¤
  778.         self.__ArrangeQuestButton()
  779.  
  780.     def PartyHealReady(self):
  781.         self.wndParty.PartyHealReady()
  782.  
  783.     def ChangePartyParameter(self, distributionMode):
  784.         self.wndParty.ChangePartyParameter(distributionMode)
  785.  
  786.     ## Safebox
  787.     def AskSafeboxPassword(self):
  788.         if self.wndSafebox.IsShow():
  789.             return
  790.  
  791.         # SAFEBOX_PASSWORD
  792.         self.dlgPassword.SetTitle(locale.PASSWORD_TITLE)
  793.         self.dlgPassword.SetSendMessage("/safebox_password ")
  794.         # END_OF_SAFEBOX_PASSWORD
  795.  
  796.         self.dlgPassword.ShowDialog()
  797.  
  798.     def OpenSafeboxWindow(self, size):
  799.         self.dlgPassword.CloseDialog()
  800.         self.wndSafebox.ShowWindow(size)
  801.  
  802.     def RefreshSafeboxMoney(self):
  803.         self.wndSafebox.RefreshSafeboxMoney()
  804.  
  805.     def CommandCloseSafebox(self):
  806.         self.wndSafebox.CommandCloseSafebox()
  807.  
  808.     # ITEM_MALL
  809.     def AskMallPassword(self):
  810.         if self.wndMall.IsShow():
  811.             return
  812.         self.dlgPassword.SetTitle(locale.MALL_PASSWORD_TITLE)
  813.         self.dlgPassword.SetSendMessage("/mall_password ")
  814.         self.dlgPassword.ShowDialog()
  815.  
  816.     def OpenMallWindow(self, size):
  817.         self.dlgPassword.CloseDialog()
  818.         self.wndMall.ShowWindow(size)
  819.  
  820.     def CommandCloseMall(self):
  821.         self.wndMall.CommandCloseMall()
  822.     # END_OF_ITEM_MALL
  823.  
  824.     ## Guild
  825.     def OnStartGuildWar(self, guildSelf, guildOpp):
  826.         self.wndGuild.OnStartGuildWar(guildSelf, guildOpp)
  827.  
  828.         guildWarScoreBoard = uiGuild.GuildWarScoreBoard()
  829.         guildWarScoreBoard.Open(guildSelf, guildOpp)
  830.         guildWarScoreBoard.Show()
  831.         self.guildScoreBoardDict[uiGuild.GetGVGKey(guildSelf, guildOpp)] = guildWarScoreBoard
  832.  
  833.     def OnEndGuildWar(self, guildSelf, guildOpp):
  834.         self.wndGuild.OnEndGuildWar(guildSelf, guildOpp)
  835.  
  836.         key = uiGuild.GetGVGKey(guildSelf, guildOpp)
  837.  
  838.         if not self.guildScoreBoardDict.has_key(key):
  839.             return
  840.  
  841.         self.guildScoreBoardDict[key].Destroy()
  842.         del self.guildScoreBoardDict[key]
  843.  
  844.     # GUILDWAR_MEMBER_COUNT
  845.     def UpdateMemberCount(self, gulidID1, memberCount1, guildID2, memberCount2):
  846.         key = uiGuild.GetGVGKey(gulidID1, guildID2)
  847.  
  848.         if not self.guildScoreBoardDict.has_key(key):
  849.             return
  850.  
  851.         self.guildScoreBoardDict[key].UpdateMemberCount(gulidID1, memberCount1, guildID2, memberCount2)
  852.     # END_OF_GUILDWAR_MEMBER_COUNT
  853.  
  854.     def OnRecvGuildWarPoint(self, gainGuildID, opponentGuildID, point):
  855.         key = uiGuild.GetGVGKey(gainGuildID, opponentGuildID)
  856.         if not self.guildScoreBoardDict.has_key(key):
  857.             return
  858.  
  859.         guildBoard = self.guildScoreBoardDict[key]
  860.         guildBoard.SetScore(gainGuildID, opponentGuildID, point)
  861.  
  862.     ## PK Mode
  863.     def OnChangePKMode(self):
  864.         self.wndCharacter.RefreshAlignment()
  865.         self.dlgSystem.OnChangePKMode()
  866.  
  867.     ## Refine
  868.     def OpenRefineDialog(self, targetItemPos, nextGradeItemVnum, cost, prob, type):
  869.         self.dlgRefineNew.Open(targetItemPos, nextGradeItemVnum, cost, prob, type)
  870.  
  871.     def AppendMaterialToRefineDialog(self, vnum, count):
  872.         self.dlgRefineNew.AppendMaterial(vnum, count)
  873.  
  874.     ## Show & Hide
  875.     def ShowDefaultWindows(self):
  876.         self.wndTaskBar.Show()
  877.         self.wndMiniMap.Show()
  878.         self.wndMiniMap.ShowMiniMap()
  879.         if self.wndEnergyBar:
  880.             self.wndEnergyBar.Show()
  881.  
  882.     def ShowAllWindows(self):
  883.         self.wndTaskBar.Show()
  884.         self.wndCharacter.Show()
  885.         self.wndInventory.Show()
  886.         if app.ENABLE_DRAGON_SOUL_SYSTEM:
  887.             self.wndDragonSoul.Show()
  888.             self.wndDragonSoulRefine.Show()
  889.         self.wndChat.Show()
  890.         self.wndMiniMap.Show()
  891.         if self.wndEnergyBar:
  892.             self.wndEnergyBar.Show()
  893.         if self.wndExpandedTaskBar:
  894.             self.wndExpandedTaskBar.Show()
  895.             self.wndExpandedTaskBar.SetTop()
  896.  
  897.     def HideAllWindows(self):
  898.         if self.wndTaskBar:
  899.             self.wndTaskBar.Hide()
  900.        
  901.         if self.wndEnergyBar:
  902.             self.wndEnergyBar.Hide()
  903.  
  904.         if self.wndCharacter:
  905.             self.wndCharacter.Hide()
  906.  
  907.         if self.wndInventory:
  908.             self.wndInventory.Hide()
  909.            
  910.         if app.ENABLE_DRAGON_SOUL_SYSTEM:
  911.             self.wndDragonSoul.Hide()
  912.             self.wndDragonSoulRefine.Hide()
  913.  
  914.         if self.wndChat:
  915.             self.wndChat.Hide()
  916.  
  917.         if self.wndMiniMap:
  918.             self.wndMiniMap.Hide()
  919.  
  920.         if self.wndMessenger:
  921.             self.wndMessenger.Hide()
  922.  
  923.         if self.wndGuild:
  924.             self.wndGuild.Hide()
  925.            
  926.         if self.wndExpandedTaskBar:
  927.             self.wndExpandedTaskBar.Hide()
  928.  
  929.  
  930.     def ShowMouseImage(self):
  931.         self.wndTaskBar.ShowMouseImage()
  932.  
  933.     def HideMouseImage(self):
  934.         self.wndTaskBar.HideMouseImage()
  935.  
  936.     def ToggleChat(self):
  937.         if TRUE == self.wndChat.IsEditMode():
  938.             self.wndChat.CloseChat()
  939.         else:
  940.             # À¥ÆäÀÌÁö°¡ ¿­·ÈÀ»¶§´Â äÆà ÀÔ·ÂÀÌ ¾ÈµÊ
  941.             if self.wndWeb and self.wndWeb.IsShow():
  942.                 pass
  943.             else:
  944.                 self.wndChat.OpenChat()
  945.  
  946.     def IsOpenChat(self):
  947.         return self.wndChat.IsEditMode()
  948.  
  949.     def SetChatFocus(self):
  950.         self.wndChat.SetChatFocus()
  951.  
  952.     def OpenRestartDialog(self):
  953.         self.dlgRestart.OpenDialog()
  954.         self.dlgRestart.SetTop()
  955.  
  956.     def CloseRestartDialog(self):
  957.         self.dlgRestart.Close()
  958.  
  959.     def ToggleSystemDialog(self):
  960.         if FALSE == self.dlgSystem.IsShow():
  961.             self.dlgSystem.OpenDialog()
  962.             self.dlgSystem.SetTop()
  963.         else:
  964.             self.dlgSystem.Close()
  965.  
  966.     def OpenSystemDialog(self):
  967.         self.dlgSystem.OpenDialog()
  968.         self.dlgSystem.SetTop()
  969.  
  970.     def ToggleMessenger(self):
  971.         if self.wndMessenger.IsShow():
  972.             self.wndMessenger.Hide()
  973.         else:
  974.             self.wndMessenger.SetTop()
  975.             self.wndMessenger.Show()
  976.  
  977.     def ToggleMiniMap(self):
  978.         if app.IsPressed(app.DIK_LSHIFT) or app.IsPressed(app.DIK_RSHIFT):
  979.             if FALSE == self.wndMiniMap.isShowMiniMap():
  980.                 self.wndMiniMap.ShowMiniMap()
  981.                 self.wndMiniMap.SetTop()
  982.             else:
  983.                 self.wndMiniMap.HideMiniMap()
  984.  
  985.         else:
  986.             self.wndMiniMap.ToggleAtlasWindow()
  987.  
  988.     def PressMKey(self):
  989.         if app.IsPressed(app.DIK_LALT) or app.IsPressed(app.DIK_RALT):
  990.             self.ToggleMessenger()
  991.  
  992.         else:
  993.             self.ToggleMiniMap()
  994.  
  995.     def SetMapName(self, mapName):
  996.         self.wndMiniMap.SetMapName(mapName)
  997.  
  998.     def MiniMapScaleUp(self):
  999.         self.wndMiniMap.ScaleUp()
  1000.  
  1001.     def MiniMapScaleDown(self):
  1002.         self.wndMiniMap.ScaleDown()
  1003.  
  1004.     def ToggleCharacterWindow(self, state):
  1005.         if FALSE == player.IsObserverMode():
  1006.             if FALSE == self.wndCharacter.IsShow():
  1007.                 self.OpenCharacterWindowWithState(state)
  1008.             else:
  1009.                 if state == self.wndCharacter.GetState():
  1010.                     self.wndCharacter.OverOutItem()
  1011.                     self.wndCharacter.Hide()
  1012.                 else:
  1013.                     self.wndCharacter.SetState(state)
  1014.  
  1015.     def OpenCharacterWindowWithState(self, state):
  1016.         if FALSE == player.IsObserverMode():
  1017.             self.wndCharacter.SetState(state)
  1018.             self.wndCharacter.Show()
  1019.             self.wndCharacter.SetTop()
  1020.  
  1021.     def ToggleCharacterWindowStatusPage(self):
  1022.         self.ToggleCharacterWindow("STATUS")
  1023.  
  1024.     def ToggleInventoryWindow(self):
  1025.         if self.State == "Kapali":
  1026.             chat.AppendChat(chat.CHAT_TYPE_INFO, "Inventarul se va deschide in " + str(int(int(self.LastContactTimeStamp) + self.WaitTime) - int(app.GetTime())) + " secunde.")
  1027.             return 
  1028.         else:
  1029.             if FALSE == player.IsObserverMode():
  1030.                 if FALSE == self.wndInventory.IsShow():
  1031.                     self.wndInventory.Show()
  1032.                     self.wndInventory.SetTop()
  1033.                 else:
  1034.                     self.wndInventory.OverOutItem()
  1035.                     self.wndInventory.Close()
  1036.    
  1037.     def ToggleExpandedButton(self):
  1038.         if FALSE == player.IsObserverMode():
  1039.             if FALSE == self.wndExpandedTaskBar.IsShow():
  1040.                 self.wndExpandedTaskBar.Show()
  1041.                 self.wndExpandedTaskBar.SetTop()
  1042.             else:
  1043.                 self.wndExpandedTaskBar.Close()
  1044.    
  1045.     # ¿ëÈ¥¼®
  1046.     def DragonSoulActivate(self, deck):
  1047.         if app.ENABLE_DRAGON_SOUL_SYSTEM:
  1048.             self.wndDragonSoul.ActivateDragonSoulByExtern(deck)
  1049.  
  1050.     def DragonSoulDeactivate(self):
  1051.         if app.ENABLE_DRAGON_SOUL_SYSTEM:
  1052.             self.wndDragonSoul.DeactivateDragonSoul()
  1053.        
  1054.     def Highligt_Item(self, inven_type, inven_pos):
  1055.         if player.DRAGON_SOUL_INVENTORY == inven_type:
  1056.             if app.ENABLE_DRAGON_SOUL_SYSTEM:
  1057.                 self.wndDragonSoul.HighlightSlot(inven_pos)
  1058.            
  1059.     def DragonSoulGiveQuilification(self):
  1060.         self.DRAGON_SOUL_IS_QUALIFIED = TRUE
  1061.         self.wndExpandedTaskBar.SetToolTipText(uiTaskBar.ExpandedTaskBar.BUTTON_DRAGON_SOUL, uiScriptLocale.TASKBAR_DRAGON_SOUL)
  1062.  
  1063.     def ToggleDragonSoulWindow(self):
  1064.         if FALSE == player.IsObserverMode():
  1065.             if app.ENABLE_DRAGON_SOUL_SYSTEM:
  1066.                 if FALSE == self.wndDragonSoul.IsShow():
  1067.                     if self.DRAGON_SOUL_IS_QUALIFIED:
  1068.                         self.wndDragonSoul.Show()
  1069.                     else:
  1070.                         try:
  1071.                             self.wndPopupDialog.SetText(locale.DRAGON_SOUL_UNQUALIFIED)
  1072.                             self.wndPopupDialog.Open()
  1073.                         except:
  1074.                             self.wndPopupDialog = uiCommon.PopupDialog()
  1075.                             self.wndPopupDialog.SetText(locale.DRAGON_SOUL_UNQUALIFIED)
  1076.                             self.wndPopupDialog.Open()
  1077.                 else:
  1078.                     self.wndDragonSoul.Close()
  1079.        
  1080.     def ToggleDragonSoulWindowWithNoInfo(self):
  1081.         if FALSE == player.IsObserverMode():
  1082.             if app.ENABLE_DRAGON_SOUL_SYSTEM:
  1083.                 if FALSE == self.wndDragonSoul.IsShow():
  1084.                     if self.DRAGON_SOUL_IS_QUALIFIED:
  1085.                         self.wndDragonSoul.Show()
  1086.                 else:
  1087.                     self.wndDragonSoul.Close()
  1088.                
  1089.     def FailDragonSoulRefine(self, reason, inven_type, inven_pos):
  1090.         if FALSE == player.IsObserverMode():
  1091.             if app.ENABLE_DRAGON_SOUL_SYSTEM:
  1092.                 if TRUE == self.wndDragonSoulRefine.IsShow():
  1093.                     self.wndDragonSoulRefine.RefineFail(reason, inven_type, inven_pos)
  1094.  
  1095.     def SucceedDragonSoulRefine(self, inven_type, inven_pos):
  1096.         if FALSE == player.IsObserverMode():
  1097.             if app.ENABLE_DRAGON_SOUL_SYSTEM:
  1098.                 if TRUE == self.wndDragonSoulRefine.IsShow():
  1099.                     self.wndDragonSoulRefine.RefineSucceed(inven_type, inven_pos)
  1100.  
  1101.     def OpenDragonSoulRefineWindow(self):
  1102.         if FALSE == player.IsObserverMode():
  1103.             if app.ENABLE_DRAGON_SOUL_SYSTEM:
  1104.                 if FALSE == self.wndDragonSoulRefine.IsShow():
  1105.                     self.wndDragonSoulRefine.Show()
  1106.                     if None != self.wndDragonSoul:
  1107.                         if FALSE == self.wndDragonSoul.IsShow():
  1108.                             self.wndDragonSoul.Show()
  1109.  
  1110.     def CloseDragonSoulRefineWindow(self):
  1111.         if FALSE == player.IsObserverMode():
  1112.             if app.ENABLE_DRAGON_SOUL_SYSTEM:
  1113.                 if TRUE == self.wndDragonSoulRefine.IsShow():
  1114.                     self.wndDragonSoulRefine.Close()
  1115.  
  1116.     # ¿ëÈ¥¼® ³¡
  1117.    
  1118.     def ToggleGuildWindow(self):
  1119.         if not self.wndGuild.IsShow():
  1120.             if self.wndGuild.CanOpen():
  1121.                 self.wndGuild.Open()
  1122.             else:
  1123.                 chat.AppendChat(chat.CHAT_TYPE_INFO, locale.GUILD_YOU_DO_NOT_JOIN)
  1124.         else:
  1125.             self.wndGuild.OverOutItem()
  1126.             self.wndGuild.Hide()
  1127.  
  1128.     def ToggleChatLogWindow(self):
  1129.         if self.wndChatLog.IsShow():
  1130.             self.wndChatLog.Hide()
  1131.         else:
  1132.             self.wndChatLog.Show()
  1133.  
  1134.     def CheckGameButton(self):
  1135.         if self.wndGameButton:
  1136.             self.wndGameButton.CheckGameButton()
  1137.  
  1138.     def __OnClickStatusPlusButton(self):
  1139.         self.ToggleCharacterWindow("STATUS")
  1140.  
  1141.     def __OnClickSkillPlusButton(self):
  1142.         self.ToggleCharacterWindow("SKILL")
  1143.  
  1144.     def __OnClickQuestButton(self):
  1145.         self.ToggleCharacterWindow("QUEST")
  1146.  
  1147.     def __OnClickHelpButton(self):
  1148.         player.SetPlayTime(1)
  1149.         self.CheckGameButton()
  1150.         self.OpenHelpWindow()
  1151.  
  1152.     def __OnClickBuildButton(self):
  1153.         self.BUILD_OpenWindow()
  1154.  
  1155.     def OpenHelpWindow(self):
  1156.         self.wndUICurtain.Show()
  1157.         self.wndHelp.Open()
  1158.  
  1159.     def CloseHelpWindow(self):
  1160.         self.wndUICurtain.Hide()
  1161.         self.wndHelp.Close()
  1162.  
  1163.     def OpenWebWindow(self, url):
  1164.         self.wndWeb.Open(url)
  1165.  
  1166.         # À¥ÆäÀÌÁö¸¦ ¿­¸é äÆÃÀ» ´Ý´Â´Ù
  1167.         self.wndChat.CloseChat()
  1168.  
  1169.     def OpenAcceWindow(self):
  1170.         self.wndAcce.Open()
  1171.         if self.wndInventory.IsShow() == FALSE:
  1172.             self.wndInventory.Show()
  1173.  
  1174.     def UpdateAcceInfo(self, gold, itemVnum, count, rItemVnum, rCount):
  1175.         self.wndAcce.UpdateInfo(gold, itemVnum, count, rItemVnum, rCount)
  1176.  
  1177.     def CloseAcceWindow(self):
  1178.         self.wndAcce.Close()
  1179.  
  1180.     def FailedAcceWork(self):
  1181.         self.wndAcce.Clear()
  1182.  
  1183.     def SucceedAcceWork(self, itemVnum, count):
  1184.         self.wndAcce.ClearSuccess()
  1185.         print "Making acce has succesfully! [%d:%d]" % (itemVnum, count)
  1186.  
  1187.     def OpenAcceAbsWindow(self):
  1188.         self.wndAcceAbs.Open()
  1189.         if self.wndInventory.IsShow() == FALSE:
  1190.             self.wndInventory.Show()
  1191.  
  1192.     def SucceedAcceAbsWork(self):
  1193.         self.wndAcceAbs.Clear()
  1194.        
  1195.     # show GIFT
  1196.     def ShowGift(self):
  1197.         self.wndTaskBar.ShowGift()
  1198.            
  1199.     def CloseWbWindow(self):
  1200.         self.wndWeb.Close()
  1201.  
  1202.     def OpenCubeWindow(self):
  1203.         self.wndCube.Open()
  1204.  
  1205.         if FALSE == self.wndInventory.IsShow():
  1206.             self.wndInventory.Show()
  1207.  
  1208.     def UpdateCubeInfo(self, gold, itemVnum, count):
  1209.         self.wndCube.UpdateInfo(gold, itemVnum, count)
  1210.  
  1211.     def CloseCubeWindow(self):
  1212.         self.wndCube.Close()
  1213.  
  1214.     def FailedCubeWork(self):
  1215.         self.wndCube.Refresh()
  1216.  
  1217.     def SucceedCubeWork(self, itemVnum, count):
  1218.         self.wndCube.Clear()
  1219.        
  1220.         print "Å¥ºê Á¦ÀÛ ¼º°ø! [%d:%d]" % (itemVnum, count)
  1221.  
  1222.         if 0: # °á°ú ¸Þ½ÃÁö Ãâ·ÂÀº »ý·« ÇÑ´Ù
  1223.             self.wndCubeResult.SetPosition(*self.wndCube.GetGlobalPosition())
  1224.             self.wndCubeResult.SetCubeResultItem(itemVnum, count)
  1225.             self.wndCubeResult.Open()
  1226.             self.wndCubeResult.SetTop()
  1227.  
  1228.     def __HideWindows(self):
  1229.         hideWindows = self.wndTaskBar,\
  1230.                         self.wndCharacter,\
  1231.                         self.wndInventory,\
  1232.                         self.wndMiniMap,\
  1233.                         self.wndGuild,\
  1234.                         self.wndMessenger,\
  1235.                         self.wndChat,\
  1236.                         self.wndParty,\
  1237.                         self.wndGameButton,
  1238.  
  1239.         if self.wndEnergyBar:
  1240.             hideWindows += self.wndEnergyBar,
  1241.            
  1242.         if self.wndExpandedTaskBar:
  1243.             hideWindows += self.wndExpandedTaskBar,
  1244.            
  1245.         if app.ENABLE_DRAGON_SOUL_SYSTEM:
  1246.             hideWindows += self.wndDragonSoul,\
  1247.                         self.wndDragonSoulRefine,
  1248.  
  1249.         hideWindows = filter(lambda x:x.IsShow(), hideWindows)
  1250.         map(lambda x:x.Hide(), hideWindows)
  1251.         import sys
  1252.  
  1253.         self.HideAllQuestButton()
  1254.         self.HideAllWhisperButton()
  1255.  
  1256.         if self.wndChat.IsEditMode():
  1257.             self.wndChat.CloseChat()
  1258.  
  1259.         return hideWindows
  1260.  
  1261.     def __ShowWindows(self, wnds):
  1262.         import sys
  1263.         map(lambda x:x.Show(), wnds)
  1264.         global IsQBHide
  1265.         if not IsQBHide:
  1266.             self.ShowAllQuestButton()
  1267.         else:
  1268.             self.HideAllQuestButton()
  1269.  
  1270.         self.ShowAllWhisperButton()
  1271.  
  1272.     def BINARY_OpenAtlasWindow(self):
  1273.         if self.wndMiniMap:
  1274.             self.wndMiniMap.ShowAtlas()
  1275.  
  1276.     def BINARY_SetObserverMode(self, flag):
  1277.         self.wndGameButton.SetObserverMode(flag)
  1278.  
  1279.     # ACCESSORY_REFINE_ADD_METIN_STONE
  1280.     def BINARY_OpenSelectItemWindow(self):
  1281.         self.wndItemSelect.Open()
  1282.     # END_OF_ACCESSORY_REFINE_ADD_METIN_STONE
  1283.  
  1284.     #####################################################################################
  1285.     ### Private Shop ###
  1286.  
  1287.     def OpenPrivateShopInputNameDialog(self):
  1288.         #if player.IsInSafeArea():
  1289.         #   chat.AppendChat(chat.CHAT_TYPE_INFO, locale.CANNOT_OPEN_PRIVATE_SHOP_IN_SAFE_AREA)
  1290.         #   return
  1291.  
  1292.         inputDialog = uiCommon.InputDialog()
  1293.         inputDialog.SetTitle(locale.PRIVATE_SHOP_INPUT_NAME_DIALOG_TITLE)
  1294.         inputDialog.SetMaxLength(32)
  1295.         inputDialog.SetAcceptEvent(ui.__mem_func__(self.OpenPrivateShopBuilder))
  1296.         inputDialog.SetCancelEvent(ui.__mem_func__(self.ClosePrivateShopInputNameDialog))
  1297.         inputDialog.Open()
  1298.         self.inputDialog = inputDialog
  1299.  
  1300.     def ClosePrivateShopInputNameDialog(self):
  1301.         self.inputDialog = None
  1302.         return TRUE
  1303.  
  1304.     def OpenPrivateShopBuilder(self):
  1305.  
  1306.         if not self.inputDialog:
  1307.             return TRUE
  1308.  
  1309.         if not len(self.inputDialog.GetText()):
  1310.             return TRUE
  1311.  
  1312.         self.privateShopBuilder.Open(self.inputDialog.GetText())
  1313.         self.ClosePrivateShopInputNameDialog()
  1314.         return TRUE
  1315.  
  1316.     def AppearPrivateShop(self, vid, text):
  1317.  
  1318.         board = uiPrivateShopBuilder.PrivateShopAdvertisementBoard()
  1319.         board.Open(vid, text)
  1320.  
  1321.         self.privateShopAdvertisementBoardDict[vid] = board
  1322.  
  1323.     def DisappearPrivateShop(self, vid):
  1324.  
  1325.         if not self.privateShopAdvertisementBoardDict.has_key(vid):
  1326.             return
  1327.  
  1328.         del self.privateShopAdvertisementBoardDict[vid]
  1329.         uiPrivateShopBuilder.DeleteADBoard(vid)
  1330.  
  1331.     #####################################################################################
  1332.     ### Equipment ###
  1333.  
  1334.     def OpenEquipmentDialog(self, vid):
  1335.         dlg = uiEquipmentDialog.EquipmentDialog()
  1336.         dlg.SetItemToolTip(self.tooltipItem)
  1337.         dlg.SetCloseEvent(ui.__mem_func__(self.CloseEquipmentDialog))
  1338.         dlg.Open(vid)
  1339.  
  1340.         self.equipmentDialogDict[vid] = dlg
  1341.  
  1342.     def SetEquipmentDialogItem(self, vid, slotIndex, vnum, count):
  1343.         if not vid in self.equipmentDialogDict:
  1344.             return
  1345.         self.equipmentDialogDict[vid].SetEquipmentDialogItem(slotIndex, vnum, count)
  1346.  
  1347.     def SetEquipmentDialogSocket(self, vid, slotIndex, socketIndex, value):
  1348.         if not vid in self.equipmentDialogDict:
  1349.             return
  1350.         self.equipmentDialogDict[vid].SetEquipmentDialogSocket(slotIndex, socketIndex, value)
  1351.  
  1352.     def SetEquipmentDialogAttr(self, vid, slotIndex, attrIndex, type, value):
  1353.         if not vid in self.equipmentDialogDict:
  1354.             return
  1355.         self.equipmentDialogDict[vid].SetEquipmentDialogAttr(slotIndex, attrIndex, type, value)
  1356.  
  1357.     def CloseEquipmentDialog(self, vid):
  1358.         if not vid in self.equipmentDialogDict:
  1359.             return
  1360.         del self.equipmentDialogDict[vid]
  1361.  
  1362.     #####################################################################################
  1363.  
  1364.     #####################################################################################
  1365.     ### Quest ###  
  1366.     def BINARY_ClearQuest(self, index):
  1367.         btn = self.__FindQuestButton(index)
  1368.         if 0 != btn:
  1369.             self.__DestroyQuestButton(btn)     
  1370.    
  1371.     def RecvQuest(self, index, name):
  1372.         # QUEST_LETTER_IMAGE
  1373.         self.BINARY_RecvQuest(index, name, "file", locale.GetLetterImageName())
  1374.         # END_OF_QUEST_LETTER_IMAGE
  1375.  
  1376.     def BINARY_RecvQuest(self, index, name, iconType, iconName):
  1377.  
  1378.         btn = self.__FindQuestButton(index)
  1379.         if 0 != btn:
  1380.             self.__DestroyQuestButton(btn)
  1381.  
  1382.         btn = uiWhisper.WhisperButton()
  1383.  
  1384.         # QUEST_LETTER_IMAGE
  1385.         ##!! 20061026.levites.Äù½ºÆ®_À̹ÌÁö_±³Ã¼
  1386.         import item
  1387.         if "item"==iconType:
  1388.             item.SelectItem(int(iconName))
  1389.             buttonImageFileName=item.GetIconImageFileName()
  1390.         else:
  1391.             buttonImageFileName=iconName
  1392.  
  1393.         if locale.IsEUROPE():
  1394.             if "highlight" == iconType:
  1395.                 btn.SetUpVisual("locale/ymir_ui/highlighted_quest.tga")
  1396.                 btn.SetOverVisual("locale/ymir_ui/highlighted_quest_r.tga")
  1397.                 btn.SetDownVisual("locale/ymir_ui/highlighted_quest_r.tga")
  1398.             else:
  1399.                 btn.SetUpVisual(locale.GetLetterCloseImageName())
  1400.                 btn.SetOverVisual(locale.GetLetterOpenImageName())
  1401.                 btn.SetDownVisual(locale.GetLetterOpenImageName())             
  1402.         else:
  1403.             btn.SetUpVisual(buttonImageFileName)
  1404.             btn.SetOverVisual(buttonImageFileName)
  1405.             btn.SetDownVisual(buttonImageFileName)
  1406.             btn.Flash()
  1407.         # END_OF_QUEST_LETTER_IMAGE
  1408.  
  1409.         if locale.IsARABIC():
  1410.             btn.SetToolTipText(name, 0, 35)
  1411.             btn.ToolTipText.SetHorizontalAlignCenter()
  1412.         else:
  1413.             btn.SetToolTipText(name, -20, 35)
  1414.             btn.ToolTipText.SetHorizontalAlignLeft()
  1415.            
  1416.         btn.SetEvent(ui.__mem_func__(self.__StartQuest), btn)
  1417.         btn.Show()
  1418.  
  1419.         btn.index = index
  1420.         btn.name = name
  1421.  
  1422.         self.questButtonList.insert(0, btn)
  1423.         self.__ArrangeQuestButton()
  1424.  
  1425.         #chat.AppendChat(chat.CHAT_TYPE_NOTICE, locale.QUEST_APPEND)
  1426.  
  1427.     def __ArrangeQuestButton(self):
  1428.  
  1429.         screenWidth = wndMgr.GetScreenWidth()
  1430.         screenHeight = wndMgr.GetScreenHeight()
  1431.  
  1432.         ##!! 20061026.levites.Äù½ºÆ®_À§Ä¡_º¸Á¤
  1433.         if self.wndParty.IsShow():
  1434.             xPos = 100 + 30
  1435.         else:
  1436.             xPos = 20
  1437.  
  1438.         if locale.IsARABIC():
  1439.             xPos = xPos + 15
  1440.  
  1441.         yPos = 170 * screenHeight / 600
  1442.         yCount = (screenHeight - 330) / 63
  1443.  
  1444.         count = 0
  1445.         for btn in self.questButtonList:
  1446.  
  1447.             btn.SetPosition(xPos + (int(count/yCount) * 100), yPos + (count%yCount * 63))
  1448.             count += 1
  1449.             global IsQBHide
  1450.             if IsQBHide:
  1451.                 btn.Hide()
  1452.             else:
  1453.                 btn.Show()
  1454.  
  1455.     def __StartQuest(self, btn):
  1456.         event.QuestButtonClick(btn.index)
  1457.         self.__DestroyQuestButton(btn)
  1458.  
  1459.     def __FindQuestButton(self, index):
  1460.         for btn in self.questButtonList:
  1461.             if btn.index == index:
  1462.                 return btn
  1463.  
  1464.         return 0
  1465.  
  1466.     def __DestroyQuestButton(self, btn):
  1467.         btn.SetEvent(0)
  1468.         self.questButtonList.remove(btn)
  1469.         self.__ArrangeQuestButton()
  1470.  
  1471.     def HideAllQuestButton(self):
  1472.         for btn in self.questButtonList:
  1473.             btn.Hide()
  1474.  
  1475.     def ShowAllQuestButton(self):
  1476.         for btn in self.questButtonList:
  1477.             btn.Show()
  1478.     #####################################################################################
  1479.  
  1480.     #####################################################################################
  1481.     ### Whisper ###
  1482.  
  1483.     def __InitWhisper(self):
  1484.         chat.InitWhisper(self)
  1485.  
  1486.     ## äÆÃâÀÇ "¸Þ½ÃÁö º¸³»±â"¸¦ ´­·¶À»¶§ À̸§ ¾ø´Â ´ëȭâÀ» ¿©´Â ÇÔ¼ö
  1487.     ## À̸§ÀÌ ¾ø±â ¶§¹®¿¡ ±âÁ¸ÀÇ WhisperDialogDict ¿Í º°µµ·Î °ü¸®µÈ´Ù.
  1488.     def OpenWhisperDialogWithoutTarget(self):
  1489.         if not self.dlgWhisperWithoutTarget:
  1490.             dlgWhisper = uiWhisper.WhisperDialog(self.MinimizeWhisperDialog, self.CloseWhisperDialog)
  1491.             dlgWhisper.BindInterface(self)
  1492.             dlgWhisper.LoadDialog()
  1493.             dlgWhisper.OpenWithoutTarget(self.RegisterTemporaryWhisperDialog)
  1494.             dlgWhisper.SetPosition(self.windowOpenPosition*30,self.windowOpenPosition*30)
  1495.             dlgWhisper.Show()
  1496.             self.dlgWhisperWithoutTarget = dlgWhisper
  1497.  
  1498.             self.windowOpenPosition = (self.windowOpenPosition+1) % 5
  1499.  
  1500.         else:
  1501.             self.dlgWhisperWithoutTarget.SetTop()
  1502.             self.dlgWhisperWithoutTarget.OpenWithoutTarget(self.RegisterTemporaryWhisperDialog)
  1503.  
  1504.     ## À̸§ ¾ø´Â ´ëȭâ¿¡¼­ À̸§À» °áÁ¤ÇßÀ»¶§ WhisperDialogDict¿¡ âÀ» ³Ö¾îÁÖ´Â ÇÔ¼ö
  1505.     def RegisterTemporaryWhisperDialog(self, name):
  1506.         if not self.dlgWhisperWithoutTarget:
  1507.             return
  1508.  
  1509.         btn = self.__FindWhisperButton(name)
  1510.         if 0 != btn:
  1511.             self.__DestroyWhisperButton(btn)
  1512.  
  1513.         elif self.whisperDialogDict.has_key(name):
  1514.             oldDialog = self.whisperDialogDict[name]
  1515.             oldDialog.Destroy()
  1516.             del self.whisperDialogDict[name]
  1517.  
  1518.         self.whisperDialogDict[name] = self.dlgWhisperWithoutTarget
  1519.         self.dlgWhisperWithoutTarget.OpenWithTarget(name)
  1520.         self.dlgWhisperWithoutTarget = None
  1521.         self.__CheckGameMaster(name)
  1522.  
  1523.     ## ij¸¯ÅÍ ¸Þ´ºÀÇ 1:1 ´ëÈ­ Çϱ⸦ ´­·¶À»¶§ À̸§À» °¡Áö°í ¹Ù·Î âÀ» ¿©´Â ÇÔ¼ö
  1524.     def OpenWhisperDialog(self, name):
  1525.         if not self.whisperDialogDict.has_key(name):
  1526.             dlg = self.__MakeWhisperDialog(name)
  1527.             dlg.OpenWithTarget(name)
  1528.             dlg.chatLine.SetFocus()
  1529.             dlg.Show()
  1530.  
  1531.             self.__CheckGameMaster(name)
  1532.             btn = self.__FindWhisperButton(name)
  1533.             if 0 != btn:
  1534.                 self.__DestroyWhisperButton(btn)
  1535.  
  1536.     ## ´Ù¸¥ ij¸¯ÅͷκÎÅÍ ¸Þ¼¼Áö¸¦ ¹Þ¾ÒÀ»¶§ ÀÏ´Ü ¹öÆ°¸¸ ¶ç¿ö µÎ´Â ÇÔ¼ö
  1537.     def RecvWhisper(self, name):
  1538.         if not self.whisperDialogDict.has_key(name):
  1539.             btn = self.__FindWhisperButton(name)
  1540.             if 0 == btn:
  1541.                 btn = self.__MakeWhisperButton(name)
  1542.                 btn.Flash()
  1543.                 app.FlashApplication()
  1544.  
  1545.                 chat.AppendChat(chat.CHAT_TYPE_NOTICE, locale.RECEIVE_MESSAGE % (name))
  1546.  
  1547.             else:
  1548.                 btn.Flash()
  1549.                 app.FlashApplication()
  1550.         elif self.IsGameMasterName(name):
  1551.             dlg = self.whisperDialogDict[name]
  1552.             dlg.SetGameMasterLook()
  1553.  
  1554.     def MakeWhisperButton(self, name):
  1555.         self.__MakeWhisperButton(name)
  1556.  
  1557.     ## ¹öÆ°À» ´­·¶À»¶§ âÀ» ¿©´Â ÇÔ¼ö
  1558.     def ShowWhisperDialog(self, btn):
  1559.         try:
  1560.             self.__MakeWhisperDialog(btn.name)
  1561.             dlgWhisper = self.whisperDialogDict[btn.name]
  1562.             dlgWhisper.OpenWithTarget(btn.name)
  1563.             dlgWhisper.Show()
  1564.             self.__CheckGameMaster(btn.name)
  1565.         except:
  1566.             import dbg
  1567.             dbg.TraceError("interface.ShowWhisperDialog - Failed to find key")
  1568.  
  1569.         ## ¹öÆ° ÃʱâÈ­
  1570.         self.__DestroyWhisperButton(btn)
  1571.  
  1572.     ## WhisperDialog â¿¡¼­ ÃÖ¼ÒÈ­ ¸í·ÉÀ» ¼öÇàÇßÀ»¶§ È£ÃâµÇ´Â ÇÔ¼ö
  1573.     ## âÀ» ÃÖ¼ÒÈ­ ÇÕ´Ï´Ù.
  1574.     def MinimizeWhisperDialog(self, name):
  1575.  
  1576.         if 0 != name:
  1577.             self.__MakeWhisperButton(name)
  1578.  
  1579.         self.CloseWhisperDialog(name)
  1580.  
  1581.     ## WhisperDialog â¿¡¼­ ´Ý±â ¸í·ÉÀ» ¼öÇàÇßÀ»¶§ È£ÃâµÇ´Â ÇÔ¼ö
  1582.     ## âÀ» Áö¿ó´Ï´Ù.
  1583.     def CloseWhisperDialog(self, name):
  1584.  
  1585.         if 0 == name:
  1586.  
  1587.             if self.dlgWhisperWithoutTarget:
  1588.                 self.dlgWhisperWithoutTarget.Destroy()
  1589.                 self.dlgWhisperWithoutTarget = None
  1590.  
  1591.             return
  1592.  
  1593.         try:
  1594.             dlgWhisper = self.whisperDialogDict[name]
  1595.             dlgWhisper.Destroy()
  1596.             del self.whisperDialogDict[name]
  1597.         except:
  1598.             import dbg
  1599.             dbg.TraceError("interface.CloseWhisperDialog - Failed to find key")
  1600.  
  1601.     ## ¹öÆ°ÀÇ °³¼ö°¡ ¹Ù²î¾úÀ»¶§ ¹öÆ°À» ÀçÁ¤·Ä ÇÏ´Â ÇÔ¼ö
  1602.     def __ArrangeWhisperButton(self):
  1603.  
  1604.         screenWidth = wndMgr.GetScreenWidth()
  1605.         screenHeight = wndMgr.GetScreenHeight()
  1606.  
  1607.         xPos = screenWidth - 70
  1608.         yPos = 170 * screenHeight / 600
  1609.         yCount = (screenHeight - 330) / 63
  1610.         #yCount = (screenHeight - 285) / 63
  1611.  
  1612.         count = 0
  1613.         for button in self.whisperButtonList:
  1614.  
  1615.             button.SetPosition(xPos + (int(count/yCount) * -50), yPos + (count%yCount * 63))
  1616.             count += 1
  1617.  
  1618.     ## À̸§À¸·Î Whisper ¹öÆ°À» ã¾Æ ¸®ÅÏÇØ ÁÖ´Â ÇÔ¼ö
  1619.     ## ¹öÆ°Àº µñ¼Å³Ê¸®·Î ÇÏÁö ¾Ê´Â °ÍÀº Á¤·Ä µÇ¾î ¹ö·Á ¼ø¼­°¡ À¯Áö µÇÁö ¾ÊÀ¸¸ç
  1620.     ## ÀÌ·Î ÀÎÇØ ToolTipµéÀÌ ´Ù¸¥ ¹öÆ°µé¿¡ ÀÇÇØ °¡·ÁÁö±â ¶§¹®ÀÌ´Ù.
  1621.     def __FindWhisperButton(self, name):
  1622.         for button in self.whisperButtonList:
  1623.             if button.name == name:
  1624.                 return button
  1625.  
  1626.         return 0
  1627.  
  1628.     ## âÀ» ¸¸µì´Ï´Ù.
  1629.     def __MakeWhisperDialog(self, name):
  1630.         dlgWhisper = uiWhisper.WhisperDialog(self.MinimizeWhisperDialog, self.CloseWhisperDialog)
  1631.         dlgWhisper.BindInterface(self)
  1632.         dlgWhisper.LoadDialog()
  1633.         dlgWhisper.SetPosition(self.windowOpenPosition*30,self.windowOpenPosition*30)
  1634.         self.whisperDialogDict[name] = dlgWhisper
  1635.  
  1636.         self.windowOpenPosition = (self.windowOpenPosition+1) % 5
  1637.  
  1638.         return dlgWhisper
  1639.  
  1640.     ## ¹öÆ°À» ¸¸µì´Ï´Ù.
  1641.     def __MakeWhisperButton(self, name):
  1642.         whisperButton = uiWhisper.WhisperButton()
  1643.         whisperButton.SetUpVisual("d:/ymir work/ui/game/windows/btn_mail_up.sub")
  1644.         whisperButton.SetOverVisual("d:/ymir work/ui/game/windows/btn_mail_up.sub")
  1645.         whisperButton.SetDownVisual("d:/ymir work/ui/game/windows/btn_mail_up.sub")
  1646.         if self.IsGameMasterName(name):
  1647.             whisperButton.SetToolTipTextWithColor(name, 0xffffa200)
  1648.         else:
  1649.             whisperButton.SetToolTipText(name)
  1650.         whisperButton.ToolTipText.SetHorizontalAlignCenter()
  1651.         whisperButton.SetEvent(ui.__mem_func__(self.ShowWhisperDialog), whisperButton)
  1652.         whisperButton.Show()
  1653.         whisperButton.name = name
  1654.  
  1655.         self.whisperButtonList.insert(0, whisperButton)
  1656.         self.__ArrangeWhisperButton()
  1657.  
  1658.         return whisperButton
  1659.  
  1660.     def __DestroyWhisperButton(self, button):
  1661.         button.SetEvent(0)
  1662.         self.whisperButtonList.remove(button)
  1663.         self.__ArrangeWhisperButton()
  1664.  
  1665.     def HideAllWhisperButton(self):
  1666.         for btn in self.whisperButtonList:
  1667.             btn.Hide()
  1668.  
  1669.     def ShowAllWhisperButton(self):
  1670.         for btn in self.whisperButtonList:
  1671.             btn.Show()
  1672.  
  1673.     def __CheckGameMaster(self, name):
  1674.         if not self.listGMName.has_key(name):
  1675.             return
  1676.         if self.whisperDialogDict.has_key(name):
  1677.             dlg = self.whisperDialogDict[name]
  1678.             dlg.SetGameMasterLook()
  1679.  
  1680.     def RegisterGameMasterName(self, name):
  1681.         if self.listGMName.has_key(name):
  1682.             return
  1683.         self.listGMName[name] = "GM"
  1684.  
  1685.     def IsGameMasterName(self, name):
  1686.         if self.listGMName.has_key(name):
  1687.             return TRUE
  1688.         else:
  1689.             return FALSE
  1690.  
  1691.     #####################################################################################
  1692.  
  1693.     #####################################################################################
  1694.     ### Guild Building ###
  1695.  
  1696.     def BUILD_OpenWindow(self):
  1697.         self.wndGuildBuilding = uiGuild.BuildGuildBuildingWindow()
  1698.         self.wndGuildBuilding.Open()
  1699.         self.wndGuildBuilding.wnds = self.__HideWindows()
  1700.         self.wndGuildBuilding.SetCloseEvent(ui.__mem_func__(self.BUILD_CloseWindow))
  1701.  
  1702.     def BUILD_CloseWindow(self):
  1703.         self.__ShowWindows(self.wndGuildBuilding.wnds)
  1704.         self.wndGuildBuilding = None
  1705.  
  1706.     def BUILD_OnUpdate(self):
  1707.         if not self.wndGuildBuilding:
  1708.             return
  1709.  
  1710.         if self.wndGuildBuilding.IsPositioningMode():
  1711.             import background
  1712.             x, y, z = background.GetPickingPoint()
  1713.             self.wndGuildBuilding.SetBuildingPosition(x, y, z)
  1714.  
  1715.     def BUILD_OnMouseLeftButtonDown(self):
  1716.         if not self.wndGuildBuilding:
  1717.             return
  1718.  
  1719.         # GUILD_BUILDING
  1720.         if self.wndGuildBuilding.IsPositioningMode():
  1721.             self.wndGuildBuilding.SettleCurrentPosition()
  1722.             return TRUE
  1723.         elif self.wndGuildBuilding.IsPreviewMode():
  1724.             pass
  1725.         else:
  1726.             return TRUE
  1727.         # END_OF_GUILD_BUILDING
  1728.         return FALSE
  1729.  
  1730.     def BUILD_OnMouseLeftButtonUp(self):
  1731.         if not self.wndGuildBuilding:
  1732.             return
  1733.  
  1734.         if not self.wndGuildBuilding.IsPreviewMode():
  1735.             return TRUE
  1736.  
  1737.         return FALSE
  1738.  
  1739.     def BULID_EnterGuildArea(self, areaID):
  1740.         # GUILD_BUILDING
  1741.         mainCharacterName = player.GetMainCharacterName()
  1742.         masterName = guild.GetGuildMasterName()
  1743.  
  1744.         if mainCharacterName != masterName:
  1745.             return
  1746.  
  1747.         if areaID != player.GetGuildID():
  1748.             return
  1749.         # END_OF_GUILD_BUILDING
  1750.  
  1751.         self.wndGameButton.ShowBuildButton()
  1752.  
  1753.     def BULID_ExitGuildArea(self, areaID):
  1754.         self.wndGameButton.HideBuildButton()
  1755.  
  1756.     #####################################################################################
  1757.  
  1758.     def IsEditLineFocus(self):
  1759.         if self.ChatWindow.chatLine.IsFocus():
  1760.             return 1
  1761.  
  1762.         if self.ChatWindow.chatToLine.IsFocus():
  1763.             return 1
  1764.  
  1765.         return 0
  1766.  
  1767.     def EmptyFunction(self):
  1768.         pass
  1769.  
  1770. if __name__ == "__main__":
  1771.  
  1772.     import app
  1773.     import wndMgr
  1774.     import systemSetting
  1775.     import mouseModule
  1776.     import grp
  1777.     import ui
  1778.     import locale
  1779.  
  1780.     app.SetMouseHandler(mouseModule.mouseController)
  1781.     app.SetHairColorEnable(TRUE)
  1782.     wndMgr.SetMouseHandler(mouseModule.mouseController)
  1783.     wndMgr.SetScreenSize(systemSetting.GetWidth(), systemSetting.GetHeight())
  1784.     app.Create(locale.APP_TITLE, systemSetting.GetWidth(), systemSetting.GetHeight(), 1)
  1785.     mouseModule.mouseController.Create()
  1786.  
  1787.     class TestGame(ui.Window):
  1788.         def __init__(self):
  1789.             ui.Window.__init__(self)
  1790.  
  1791.             locale.LoadLocaleData()
  1792.             player.SetItemData(0, 27001, 10)
  1793.             player.SetItemData(1, 27004, 10)
  1794.  
  1795.             self.interface = Interface()
  1796.             self.interface.MakeInterface()
  1797.             self.interface.ShowDefaultWindows()
  1798.             self.interface.RefreshInventory()
  1799.             #self.interface.OpenCubeWindow()
  1800.  
  1801.         def __del__(self):
  1802.             ui.Window.__del__(self)
  1803.  
  1804.         def OnUpdate(self):
  1805.             app.UpdateGame()
  1806.  
  1807.         def OnRender(self):
  1808.             app.RenderGame()
  1809.             grp.PopState()
  1810.             grp.SetInterfaceRenderState()
  1811.  
  1812.     game = TestGame()
  1813.     game.SetSize(systemSetting.GetWidth(), systemSetting.GetHeight())
  1814.     game.Show()
  1815.  
  1816.     app.Loop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement