Advertisement
Kazuhiri

Untitled

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