Guest User

interfacemodule.py

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