Advertisement
Guest User

Untitled

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