Guest User

Untitled

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