1. ##
  2. ## Interface
  3. ##
  4. import constInfo
  5. import systemSetting
  6. import wndMgr
  7. import chat
  8. import app
  9. import player
  10. import uiTaskBar
  11. import uiCharacter
  12. import uiInventory
  13. import uiDragonSoul
  14. import uiChat
  15. import uiMessenger
  16. import guild
  17. if app.ENABLE_AUTO_HUNT_SYSTEM:
  18. import uiautohunt
  19. import ui
  20. import uiHelp
  21. import uiWhisper
  22. import uiPointReset
  23. import uiShop
  24. import uiExchange
  25. import uiSystem
  26. import uiRestart
  27. import uiToolTip
  28. import uiMiniMap
  29. import uiParty
  30. import uiSafebox
  31. import uiGuild
  32. import uiQuest
  33. import uiPrivateShopBuilder
  34. import uiCommon
  35. import uiRefine
  36. import uiEquipmentDialog
  37. import uiGameButton
  38. import uiTip
  39. import uiCube
  40. import miniMap
  41. # ACCESSORY_REFINE_ADD_METIN_STONE
  42. import uiSelectItem
  43. # END_OF_ACCESSORY_REFINE_ADD_METIN_STONE
  44. import uiScriptLocale
  45. import event
  46. import localeInfo
  47. if app.ENABLE_AURA_SYSTEM:
  48. import uiaura
  49. if app.ENABLE_ACCE_SYSTEM:
  50. import uiacce
  51. IsQBHide = 0
  52. class Interface(object):
  53. CHARACTER_STATUS_TAB = 1
  54. CHARACTER_SKILL_TAB = 2
  55. def __init__(self):
  56. systemSetting.SetInterfaceHandler(self)
  57. self.windowOpenPosition = 0
  58. self.dlgWhisperWithoutTarget = None
  59. self.inputDialog = None
  60. self.tipBoard = None
  61. self.bigBoard = None
  62. # ITEM_MALL
  63. self.mallPageDlg = None
  64. # END_OF_ITEM_MALL
  65. self.wndWeb = None
  66. if app.ENABLE_CUBE_RENEWAL_WORLDARD:
  67. self.wndCubeRenewal = None
  68. self.wndTaskBar = None
  69. self.wndCharacter = None
  70. self.wndInventory = None
  71. self.wndExpandedTaskBar = None
  72. self.wndDragonSoul = None
  73. self.wndDragonSoulRefine = None
  74. self.wndChat = None
  75. self.wndMessenger = None
  76. self.wndMiniMap = None
  77. self.wndGuild = None
  78. self.wndGuildBuilding = None
  79. self.listGMName = {}
  80. self.wndQuestWindow = {}
  81. self.wndQuestWindowNewKey = 0
  82. self.privateShopAdvertisementBoardDict = {}
  83. self.guildScoreBoardDict = {}
  84. self.equipmentDialogDict = {}
  85. event.SetInterfaceWindow(self)
  86. def __del__(self):
  87. systemSetting.DestroyInterfaceHandler()
  88. event.SetInterfaceWindow(None)
  89. ################################
  90. ## Make Windows & Dialogs
  91. def __MakeUICurtain(self):
  92. wndUICurtain = ui.Bar("TOP_MOST")
  93. wndUICurtain.SetSize(wndMgr.GetScreenWidth(), wndMgr.GetScreenHeight())
  94. wndUICurtain.SetColor(0x77000000)
  95. wndUICurtain.Hide()
  96. self.wndUICurtain = wndUICurtain
  97. def __MakeMessengerWindow(self):
  98. self.wndMessenger = uiMessenger.MessengerWindow()
  99. from _weakref import proxy
  100. self.wndMessenger.SetWhisperButtonEvent(lambda n,i=proxy(self):i.OpenWhisperDialog(n))
  101. self.wndMessenger.SetGuildButtonEvent(ui.__mem_func__(self.ToggleGuildWindow))
  102. def __MakeGuildWindow(self):
  103. self.wndGuild = uiGuild.GuildWindow()
  104. def __MakeChatWindow(self):
  105. wndChat = uiChat.ChatWindow()
  106. wndChat.SetSize(wndChat.CHAT_WINDOW_WIDTH, 0)
  107. wndChat.SetPosition(wndMgr.GetScreenWidth()/2 - wndChat.CHAT_WINDOW_WIDTH/2, wndMgr.GetScreenHeight() - wndChat.EDIT_LINE_HEIGHT - 37)
  108. wndChat.SetHeight(200)
  109. wndChat.Refresh()
  110. wndChat.Show()
  111. self.wndChat = wndChat
  112. self.wndChat.BindInterface(self)
  113. self.wndChat.SetSendWhisperEvent(ui.__mem_func__(self.OpenWhisperDialogWithoutTarget))
  114. self.wndChat.SetOpenChatLogEvent(ui.__mem_func__(self.ToggleChatLogWindow))
  115. def __MakeTaskBar(self):
  116. wndTaskBar = uiTaskBar.TaskBar()
  117. wndTaskBar.LoadWindow()
  118. self.wndTaskBar = wndTaskBar
  119. self.wndTaskBar.SetToggleButtonEvent(uiTaskBar.TaskBar.BUTTON_CHARACTER, ui.__mem_func__(self.ToggleCharacterWindowStatusPage))
  120. self.wndTaskBar.SetToggleButtonEvent(uiTaskBar.TaskBar.BUTTON_INVENTORY, ui.__mem_func__(self.ToggleInventoryWindow))
  121. self.wndTaskBar.SetToggleButtonEvent(uiTaskBar.TaskBar.BUTTON_MESSENGER, ui.__mem_func__(self.ToggleMessenger))
  122. self.wndTaskBar.SetToggleButtonEvent(uiTaskBar.TaskBar.BUTTON_SYSTEM, ui.__mem_func__(self.ToggleSystemDialog))
  123. if uiTaskBar.TaskBar.IS_EXPANDED:
  124. self.wndTaskBar.SetToggleButtonEvent(uiTaskBar.TaskBar.BUTTON_EXPAND, ui.__mem_func__(self.ToggleExpandedButton))
  125. self.wndExpandedTaskBar = uiTaskBar.ExpandedTaskBar()
  126. self.wndExpandedTaskBar.LoadWindow()
  127. self.wndExpandedTaskBar.SetToggleButtonEvent(uiTaskBar.ExpandedTaskBar.BUTTON_DRAGON_SOUL, ui.__mem_func__(self.ToggleDragonSoulWindow))
  128. import app
  129. if app.ENABLE_AUTO_HUNT_SYSTEM:
  130. self.wndExpandedTaskBar.SetToggleButtonEvent(uiTaskBar.ExpandedTaskBar.BUTTON_OTOMATIK_AV, ui.__mem_func__(self.OpenAutohuntWindow))
  131. else:
  132. self.wndTaskBar.SetToggleButtonEvent(uiTaskBar.TaskBar.BUTTON_CHAT, ui.__mem_func__(self.ToggleChat))
  133. self.wndEnergyBar = None
  134. import app
  135. if app.ENABLE_ENERGY_SYSTEM:
  136. wndEnergyBar = uiTaskBar.EnergyBar()
  137. wndEnergyBar.LoadWindow()
  138. self.wndEnergyBar = wndEnergyBar
  139. def __MakeParty(self):
  140. wndParty = uiParty.PartyWindow()
  141. wndParty.Hide()
  142. self.wndParty = wndParty
  143. def __MakeGameButtonWindow(self):
  144. wndGameButton = uiGameButton.GameButtonWindow()
  145. wndGameButton.SetTop()
  146. wndGameButton.Show()
  147. wndGameButton.SetButtonEvent("STATUS", ui.__mem_func__(self.__OnClickStatusPlusButton))
  148. wndGameButton.SetButtonEvent("SKILL", ui.__mem_func__(self.__OnClickSkillPlusButton))
  149. wndGameButton.SetButtonEvent("QUEST", ui.__mem_func__(self.__OnClickQuestButton))
  150. wndGameButton.SetButtonEvent("HELP", ui.__mem_func__(self.__OnClickHelpButton))
  151. wndGameButton.SetButtonEvent("BUILD", ui.__mem_func__(self.__OnClickBuildButton))
  152. self.wndGameButton = wndGameButton
  153. def __IsChatOpen(self):
  154. return True
  155. def __MakeWindows(self):
  156. wndCharacter = uiCharacter.CharacterWindow()
  157. wndInventory = uiInventory.InventoryWindow()
  158. wndInventory.BindInterfaceClass(self)
  159. if app.ENABLE_DRAGON_SOUL_SYSTEM:
  160. wndDragonSoul = uiDragonSoul.DragonSoulWindow()
  161. wndDragonSoulRefine = uiDragonSoul.DragonSoulRefineWindow()
  162. else:
  163. wndDragonSoul = None
  164. wndDragonSoulRefine = None
  165. wndMiniMap = uiMiniMap.MiniMap()
  166. wndSafebox = uiSafebox.SafeboxWindow()
  167. # ITEM_MALL
  168. wndMall = uiSafebox.MallWindow()
  169. self.wndMall = wndMall
  170. # END_OF_ITEM_MALL
  171. wndChatLog = uiChat.ChatLogWindow()
  172. wndChatLog.BindInterface(self)
  173. self.wndCharacter = wndCharacter
  174. self.wndInventory = wndInventory
  175. self.wndDragonSoul = wndDragonSoul
  176. self.wndDragonSoulRefine = wndDragonSoulRefine
  177. self.wndMiniMap = wndMiniMap
  178. self.wndSafebox = wndSafebox
  179. self.wndChatLog = wndChatLog
  180. if app.ENABLE_DRAGON_SOUL_SYSTEM:
  181. self.wndDragonSoul.SetDragonSoulRefineWindow(self.wndDragonSoulRefine)
  182. self.wndDragonSoulRefine.SetInventoryWindows(self.wndInventory, self.wndDragonSoul)
  183. self.wndInventory.SetDragonSoulRefineWindow(self.wndDragonSoulRefine)
  184. if app.ENABLE_AURA_SYSTEM:
  185. wndAura = uiaura.AuraWindow()
  186. self.wndAura = wndAura
  187. def __MakeDialogs(self):
  188. self.dlgExchange = uiExchange.ExchangeDialog()
  189. self.dlgExchange.LoadDialog()
  190. self.dlgExchange.SetCenterPosition()
  191. self.dlgExchange.Hide()
  192. self.dlgPointReset = uiPointReset.PointResetDialog()
  193. self.dlgPointReset.LoadDialog()
  194. self.dlgPointReset.Hide()
  195. self.dlgShop = uiShop.ShopDialog()
  196. self.dlgShop.LoadDialog()
  197. self.dlgShop.Hide()
  198. self.dlgRestart = uiRestart.RestartDialog()
  199. self.dlgRestart.LoadDialog()
  200. self.dlgRestart.Hide()
  201. self.dlgSystem = uiSystem.SystemDialog()
  202. self.dlgSystem.LoadDialog()
  203. self.dlgSystem.SetOpenHelpWindowEvent(ui.__mem_func__(self.OpenHelpWindow))
  204. self.dlgSystem.Hide()
  205. self.dlgPassword = uiSafebox.PasswordDialog()
  206. self.dlgPassword.Hide()
  207. self.hyperlinkItemTooltip = uiToolTip.HyperlinkItemToolTip()
  208. self.hyperlinkItemTooltip.Hide()
  209. self.tooltipItem = uiToolTip.ItemToolTip()
  210. if app.ENABLE_DS_SET:
  211. self.tooltipItem.BindInterface(self)
  212. self.tooltipItem.Hide()
  213. self.tooltipSkill = uiToolTip.SkillToolTip()
  214. self.tooltipSkill.Hide()
  215. self.privateShopBuilder = uiPrivateShopBuilder.PrivateShopBuilder()
  216. self.privateShopBuilder.Hide()
  217. self.dlgRefineNew = uiRefine.RefineDialogNew()
  218. self.dlgRefineNew.Hide()
  219. if app.ENABLE_AUTO_HUNT_SYSTEM:
  220. self.dlgAutohunt = uiautohunt.AutoHunt()
  221. self.dlgAutohunt.Hide()
  222. def __MakeHelpWindow(self):
  223. self.wndHelp = uiHelp.HelpWindow()
  224. self.wndHelp.LoadDialog()
  225. self.wndHelp.SetCloseEvent(ui.__mem_func__(self.CloseHelpWindow))
  226. self.wndHelp.Hide()
  227. def __MakeTipBoard(self):
  228. self.tipBoard = uiTip.TipBoard()
  229. self.tipBoard.Hide()
  230. self.bigBoard = uiTip.BigBoard()
  231. self.bigBoard.Hide()
  232. def __MakeWebWindow(self):
  233. if constInfo.IN_GAME_SHOP_ENABLE:
  234. import uiWeb
  235. self.wndWeb = uiWeb.WebWindow()
  236. self.wndWeb.LoadWindow()
  237. self.wndWeb.Hide()
  238. def __MakeCubeWindow(self):
  239. self.wndCube = uiCube.CubeWindow()
  240. self.wndCube.LoadWindow()
  241. self.wndCube.Hide()
  242. if app.ENABLE_ACCE_SYSTEM:
  243. def __MakeAcceWindow(self):
  244. self.wndAcceCombine = uiacce.CombineWindow()
  245. self.wndAcceCombine.LoadWindow()
  246. self.wndAcceCombine.Hide()
  247. self.wndAcceAbsorption = uiacce.AbsorbWindow()
  248. self.wndAcceAbsorption.LoadWindow()
  249. self.wndAcceAbsorption.Hide()
  250. if self.wndInventory:
  251. self.wndInventory.SetAcceWindow(self.wndAcceCombine, self.wndAcceAbsorption)
  252. def __MakeCubeResultWindow(self):
  253. self.wndCubeResult = uiCube.CubeResultWindow()
  254. self.wndCubeResult.LoadWindow()
  255. self.wndCubeResult.Hide()
  256. # ACCESSORY_REFINE_ADD_METIN_STONE
  257. def __MakeItemSelectWindow(self):
  258. self.wndItemSelect = uiSelectItem.SelectItemWindow()
  259. self.wndItemSelect.Hide()
  260. # END_OF_ACCESSORY_REFINE_ADD_METIN_STONE
  261. if app.ENABLE_CUBE_RENEWAL_WORLDARD:
  262. def __MakeCubeRenewal(self):
  263. import uicuberenewal
  264. self.wndCubeRenewal = uicuberenewal.CubeRenewalWindows()
  265. self.wndCubeRenewal.Hide()
  266. def MakeInterface(self):
  267. self.__MakeMessengerWindow()
  268. self.__MakeGuildWindow()
  269. self.__MakeChatWindow()
  270. self.__MakeParty()
  271. self.__MakeWindows()
  272. self.__MakeDialogs()
  273. self.__MakeUICurtain()
  274. self.__MakeTaskBar()
  275. self.__MakeGameButtonWindow()
  276. self.__MakeHelpWindow()
  277. self.__MakeTipBoard()
  278. if app.ENABLE_CUBE_RENEWAL_WORLDARD:
  279. self.__MakeCubeRenewal()
  280. self.__MakeWebWindow()
  281. self.__MakeCubeWindow()
  282. self.__MakeCubeResultWindow()
  283. if app.ENABLE_ACCE_SYSTEM:
  284. self.__MakeAcceWindow()
  285. # ACCESSORY_REFINE_ADD_METIN_STONE
  286. self.__MakeItemSelectWindow()
  287. # END_OF_ACCESSORY_REFINE_ADD_METIN_STONE
  288. self.questButtonList = []
  289. self.whisperButtonList = []
  290. self.whisperDialogDict = {}
  291. self.privateShopAdvertisementBoardDict = {}
  292. self.wndInventory.SetItemToolTip(self.tooltipItem)
  293. if app.ENABLE_DRAGON_SOUL_SYSTEM:
  294. self.wndDragonSoul.SetItemToolTip(self.tooltipItem)
  295. self.wndDragonSoulRefine.SetItemToolTip(self.tooltipItem)
  296. self.wndSafebox.SetItemToolTip(self.tooltipItem)
  297. self.wndCube.SetItemToolTip(self.tooltipItem)
  298. self.wndCubeResult.SetItemToolTip(self.tooltipItem)
  299. if app.ENABLE_ACCE_SYSTEM:
  300. self.wndAcceCombine.SetItemToolTip(self.tooltipItem)
  301. self.wndAcceAbsorption.SetItemToolTip(self.tooltipItem)
  302. if app.ENABLE_AURA_SYSTEM:
  303. self.wndAura.SetItemToolTip(self.tooltipItem)
  304. # ITEM_MALL
  305. self.wndMall.SetItemToolTip(self.tooltipItem)
  306. # END_OF_ITEM_MALL
  307. self.wndCharacter.SetSkillToolTip(self.tooltipSkill)
  308. self.wndTaskBar.SetItemToolTip(self.tooltipItem)
  309. self.wndTaskBar.SetSkillToolTip(self.tooltipSkill)
  310. self.wndGuild.SetSkillToolTip(self.tooltipSkill)
  311. # ACCESSORY_REFINE_ADD_METIN_STONE
  312. self.wndItemSelect.SetItemToolTip(self.tooltipItem)
  313. # END_OF_ACCESSORY_REFINE_ADD_METIN_STONE
  314. self.dlgShop.SetItemToolTip(self.tooltipItem)
  315. self.dlgExchange.SetItemToolTip(self.tooltipItem)
  316. self.privateShopBuilder.SetItemToolTip(self.tooltipItem)
  317. self.__InitWhisper()
  318. self.DRAGON_SOUL_IS_QUALIFIED = True
  319. def MakeHyperlinkTooltip(self, hyperlink):
  320. tokens = hyperlink.split(":")
  321. if tokens and len(tokens):
  322. type = tokens[0]
  323. if "item" == type:
  324. self.hyperlinkItemTooltip.SetHyperlinkItem(tokens)
  325. ## Make Windows & Dialogs
  326. ################################
  327. def Close(self):
  328. if self.dlgWhisperWithoutTarget:
  329. self.dlgWhisperWithoutTarget.Destroy()
  330. del self.dlgWhisperWithoutTarget
  331. if uiQuest.QuestDialog.__dict__.has_key("QuestCurtain"):
  332. uiQuest.QuestDialog.QuestCurtain.Close()
  333. if self.wndQuestWindow:
  334. for key, eachQuestWindow in self.wndQuestWindow.items():
  335. eachQuestWindow.nextCurtainMode = -1
  336. eachQuestWindow.CloseSelf()
  337. eachQuestWindow = None
  338. self.wndQuestWindow = {}
  339. if self.wndChat:
  340. self.wndChat.Destroy()
  341. if self.wndTaskBar:
  342. self.wndTaskBar.Destroy()
  343. if self.wndExpandedTaskBar:
  344. self.wndExpandedTaskBar.Destroy()
  345. if self.wndEnergyBar:
  346. self.wndEnergyBar.Destroy()
  347. if self.wndCharacter:
  348. self.wndCharacter.Destroy()
  349. if self.wndInventory:
  350. self.wndInventory.Destroy()
  351. if self.wndDragonSoul:
  352. self.wndDragonSoul.Destroy()
  353. if self.wndDragonSoulRefine:
  354. self.wndDragonSoulRefine.Destroy()
  355. if self.dlgExchange:
  356. self.dlgExchange.Destroy()
  357. if self.dlgPointReset:
  358. self.dlgPointReset.Destroy()
  359. if self.dlgShop:
  360. self.dlgShop.Destroy()
  361. if self.dlgRestart:
  362. self.dlgRestart.Destroy()
  363. if self.dlgSystem:
  364. self.dlgSystem.Destroy()
  365. if self.dlgPassword:
  366. self.dlgPassword.Destroy()
  367. if self.wndMiniMap:
  368. self.wndMiniMap.Destroy()
  369. if self.wndSafebox:
  370. self.wndSafebox.Destroy()
  371. if self.wndWeb:
  372. self.wndWeb.Destroy()
  373. self.wndWeb = None
  374. if self.wndMall:
  375. self.wndMall.Destroy()
  376. if self.wndParty:
  377. self.wndParty.Destroy()
  378. if self.wndHelp:
  379. self.wndHelp.Destroy()
  380. if self.wndCube:
  381. self.wndCube.Destroy()
  382. if app.ENABLE_ACCE_SYSTEM and self.wndAcceCombine:
  383. self.wndAcceCombine.Destroy()
  384. if app.ENABLE_ACCE_SYSTEM and self.wndAcceAbsorption:
  385. self.wndAcceAbsorption.Destroy()
  386. if self.wndCubeResult:
  387. self.wndCubeResult.Destroy()
  388. if self.wndMessenger:
  389. self.wndMessenger.Destroy()
  390. if self.wndGuild:
  391. self.wndGuild.Destroy()
  392. if self.privateShopBuilder:
  393. self.privateShopBuilder.Destroy()
  394. if self.dlgRefineNew:
  395. self.dlgRefineNew.Destroy()
  396. if self.wndGuildBuilding:
  397. self.wndGuildBuilding.Destroy()
  398. if self.wndGameButton:
  399. self.wndGameButton.Destroy()
  400. if app.ENABLE_AUTO_HUNT_SYSTEM:
  401. if self.dlgAutohunt:
  402. self.dlgAutohunt.Destroy()
  403. # ITEM_MALL
  404. if self.mallPageDlg:
  405. self.mallPageDlg.Destroy()
  406. # END_OF_ITEM_MALL
  407. # ACCESSORY_REFINE_ADD_METIN_STONE
  408. if self.wndItemSelect:
  409. self.wndItemSelect.Destroy()
  410. # END_OF_ACCESSORY_REFINE_ADD_METIN_STONE
  411. if app.ENABLE_CUBE_RENEWAL_WORLDARD:
  412. if self.wndCubeRenewal:
  413. self.wndCubeRenewal.Destroy()
  414. self.wndCubeRenewal.Close()
  415. if app.ENABLE_AURA_SYSTEM:
  416. if self.wndAura:
  417. self.wndAura.Destroy()
  418. self.wndChatLog.Destroy()
  419. for btn in self.questButtonList:
  420. btn.SetEvent(0)
  421. for btn in self.whisperButtonList:
  422. btn.SetEvent(0)
  423. for dlg in self.whisperDialogDict.itervalues():
  424. dlg.Destroy()
  425. for brd in self.guildScoreBoardDict.itervalues():
  426. brd.Destroy()
  427. for dlg in self.equipmentDialogDict.itervalues():
  428. dlg.Destroy()
  429. # ITEM_MALL
  430. del self.mallPageDlg
  431. # END_OF_ITEM_MALL
  432. del self.wndGuild
  433. del self.wndMessenger
  434. del self.wndUICurtain
  435. del self.wndChat
  436. del self.wndTaskBar
  437. if self.wndExpandedTaskBar:
  438. del self.wndExpandedTaskBar
  439. del self.wndEnergyBar
  440. if app.ENABLE_CUBE_RENEWAL_WORLDARD:
  441. del self.wndCubeRenewal
  442. del self.wndCharacter
  443. del self.wndInventory
  444. if self.wndDragonSoul:
  445. del self.wndDragonSoul
  446. if self.wndDragonSoulRefine:
  447. del self.wndDragonSoulRefine
  448. del self.dlgExchange
  449. del self.dlgPointReset
  450. del self.dlgShop
  451. del self.dlgRestart
  452. del self.dlgSystem
  453. del self.dlgPassword
  454. del self.hyperlinkItemTooltip
  455. del self.tooltipItem
  456. del self.tooltipSkill
  457. del self.wndMiniMap
  458. del self.wndSafebox
  459. del self.wndMall
  460. del self.wndParty
  461. del self.wndHelp
  462. del self.wndCube
  463. del self.wndCubeResult
  464. del self.privateShopBuilder
  465. del self.inputDialog
  466. del self.wndChatLog
  467. del self.dlgRefineNew
  468. del self.wndGuildBuilding
  469. del self.wndGameButton
  470. del self.tipBoard
  471. del self.bigBoard
  472. del self.wndItemSelect
  473. if app.ENABLE_AURA_SYSTEM:
  474. del self.wndAura
  475. if app.ENABLE_ACCE_SYSTEM:
  476. del self.wndAcceCombine
  477. del self.wndAcceAbsorption
  478. if app.ENABLE_AUTO_HUNT_SYSTEM:
  479. del self.dlgAutohunt
  480. self.questButtonList = []
  481. self.whisperButtonList = []
  482. self.whisperDialogDict = {}
  483. self.privateShopAdvertisementBoardDict = {}
  484. self.guildScoreBoardDict = {}
  485. self.equipmentDialogDict = {}
  486. uiChat.DestroyChatInputSetWindow()
  487. ## Skill
  488. def OnUseSkill(self, slotIndex, coolTime):
  489. self.wndCharacter.OnUseSkill(slotIndex, coolTime)
  490. self.wndTaskBar.OnUseSkill(slotIndex, coolTime)
  491. self.wndGuild.OnUseSkill(slotIndex, coolTime)
  492. def OnActivateSkill(self, slotIndex):
  493. self.wndCharacter.OnActivateSkill(slotIndex)
  494. self.wndTaskBar.OnActivateSkill(slotIndex)
  495. def OnDeactivateSkill(self, slotIndex):
  496. self.wndCharacter.OnDeactivateSkill(slotIndex)
  497. self.wndTaskBar.OnDeactivateSkill(slotIndex)
  498. def OnChangeCurrentSkill(self, skillSlotNumber):
  499. self.wndTaskBar.OnChangeCurrentSkill(skillSlotNumber)
  500. def SelectMouseButtonEvent(self, dir, event):
  501. self.wndTaskBar.SelectMouseButtonEvent(dir, event)
  502. ## Refresh
  503. def RefreshAlignment(self):
  504. self.wndCharacter.RefreshAlignment()
  505. def RefreshStatus(self):
  506. self.wndTaskBar.RefreshStatus()
  507. self.wndCharacter.RefreshStatus()
  508. self.wndInventory.RefreshStatus()
  509. if self.wndEnergyBar:
  510. self.wndEnergyBar.RefreshStatus()
  511. if app.ENABLE_DRAGON_SOUL_SYSTEM:
  512. self.wndDragonSoul.RefreshStatus()
  513. def RefreshStamina(self):
  514. self.wndTaskBar.RefreshStamina()
  515. def RefreshSkill(self):
  516. self.wndCharacter.RefreshSkill()
  517. self.wndTaskBar.RefreshSkill()
  518. def RefreshInventory(self):
  519. self.wndTaskBar.RefreshQuickSlot()
  520. self.wndInventory.RefreshItemSlot()
  521. if app.ENABLE_DRAGON_SOUL_SYSTEM:
  522. self.wndDragonSoul.RefreshItemSlot()
  523. if app.ENABLE_AURA_SYSTEM:
  524. if player.IsAuraRefineWindowOpen():
  525. if self.wndAura and self.wndAura.IsShow():
  526. self.wndAura.RefreshAuraWindow()
  527. def RefreshCharacter(self):
  528. self.wndCharacter.RefreshCharacter()
  529. self.wndTaskBar.RefreshQuickSlot()
  530. def RefreshQuest(self):
  531. self.wndCharacter.RefreshQuest()
  532. def RefreshSafebox(self):
  533. self.wndSafebox.RefreshSafebox()
  534. # ITEM_MALL
  535. def RefreshMall(self):
  536. self.wndMall.RefreshMall()
  537. def OpenItemMall(self):
  538. if not self.mallPageDlg:
  539. self.mallPageDlg = uiShop.MallPageDialog()
  540. self.mallPageDlg.Open()
  541. # END_OF_ITEM_MALL
  542. def RefreshMessenger(self):
  543. self.wndMessenger.RefreshMessenger()
  544. def RefreshGuildInfoPage(self):
  545. self.wndGuild.RefreshGuildInfoPage()
  546. def RefreshGuildBoardPage(self):
  547. self.wndGuild.RefreshGuildBoardPage()
  548. def RefreshGuildMemberPage(self):
  549. self.wndGuild.RefreshGuildMemberPage()
  550. def RefreshGuildMemberPageGradeComboBox(self):
  551. self.wndGuild.RefreshGuildMemberPageGradeComboBox()
  552. def RefreshGuildSkillPage(self):
  553. self.wndGuild.RefreshGuildSkillPage()
  554. def RefreshGuildGradePage(self):
  555. self.wndGuild.RefreshGuildGradePage()
  556. def DeleteGuild(self):
  557. self.wndMessenger.ClearGuildMember()
  558. self.wndGuild.DeleteGuild()
  559. def RefreshMobile(self):
  560. self.dlgSystem.RefreshMobile()
  561. def OnMobileAuthority(self):
  562. self.dlgSystem.OnMobileAuthority()
  563. def OnBlockMode(self, mode):
  564. self.dlgSystem.OnBlockMode(mode)
  565. ## Calling Functions
  566. # PointReset
  567. def OpenPointResetDialog(self):
  568. self.dlgPointReset.Show()
  569. self.dlgPointReset.SetTop()
  570. def ClosePointResetDialog(self):
  571. self.dlgPointReset.Close()
  572. # Shop
  573. def OpenShopDialog(self, vid):
  574. self.wndInventory.Show()
  575. self.wndInventory.SetTop()
  576. self.dlgShop.Open(vid)
  577. self.dlgShop.SetTop()
  578. def CloseShopDialog(self):
  579. self.dlgShop.Close()
  580. def RefreshShopDialog(self):
  581. self.dlgShop.Refresh()
  582. ## Quest
  583. def OpenCharacterWindowQuestPage(self):
  584. self.wndCharacter.Show()
  585. self.wndCharacter.SetState("QUEST")
  586. def OpenQuestWindow(self, skin, idx):
  587. wnds = ()
  588. q = uiQuest.QuestDialog(skin, idx)
  589. q.SetWindowName("QuestWindow" + str(idx))
  590. q.Show()
  591. if skin:
  592. q.Lock()
  593. wnds = self.__HideWindows()
  594. # UNKNOWN_UPDATE
  595. q.AddOnDoneEvent(lambda tmp_self, args=wnds: self.__ShowWindows(args))
  596. # END_OF_UNKNOWN_UPDATE
  597. if skin:
  598. q.AddOnCloseEvent(q.Unlock)
  599. q.AddOnCloseEvent(lambda key = self.wndQuestWindowNewKey:ui.__mem_func__(self.RemoveQuestDialog)(key))
  600. self.wndQuestWindow[self.wndQuestWindowNewKey] = q
  601. self.wndQuestWindowNewKey = self.wndQuestWindowNewKey + 1
  602. # END_OF_UNKNOWN_UPDATE
  603. def RemoveQuestDialog(self, key):
  604. del self.wndQuestWindow[key]
  605. ## Exchange
  606. def StartExchange(self):
  607. self.dlgExchange.OpenDialog()
  608. self.dlgExchange.Refresh()
  609. def EndExchange(self):
  610. self.dlgExchange.CloseDialog()
  611. def RefreshExchange(self):
  612. self.dlgExchange.Refresh()
  613. ## Party
  614. def AddPartyMember(self, pid, name):
  615. self.wndParty.AddPartyMember(pid, name)
  616. self.__ArrangeQuestButton()
  617. def UpdatePartyMemberInfo(self, pid):
  618. self.wndParty.UpdatePartyMemberInfo(pid)
  619. def RemovePartyMember(self, pid):
  620. self.wndParty.RemovePartyMember(pid)
  621. self.__ArrangeQuestButton()
  622. def LinkPartyMember(self, pid, vid):
  623. self.wndParty.LinkPartyMember(pid, vid)
  624. def UnlinkPartyMember(self, pid):
  625. self.wndParty.UnlinkPartyMember(pid)
  626. def UnlinkAllPartyMember(self):
  627. self.wndParty.UnlinkAllPartyMember()
  628. def ExitParty(self):
  629. self.wndParty.ExitParty()
  630. self.__ArrangeQuestButton()
  631. def PartyHealReady(self):
  632. self.wndParty.PartyHealReady()
  633. def ChangePartyParameter(self, distributionMode):
  634. self.wndParty.ChangePartyParameter(distributionMode)
  635. ## Safebox
  636. def AskSafeboxPassword(self):
  637. if self.wndSafebox.IsShow():
  638. return
  639. # SAFEBOX_PASSWORD
  640. self.dlgPassword.SetTitle(localeInfo.PASSWORD_TITLE)
  641. self.dlgPassword.SetSendMessage("/safebox_password ")
  642. # END_OF_SAFEBOX_PASSWORD
  643. self.dlgPassword.ShowDialog()
  644. def OpenSafeboxWindow(self, size):
  645. self.dlgPassword.CloseDialog()
  646. self.wndSafebox.ShowWindow(size)
  647. def RefreshSafeboxMoney(self):
  648. self.wndSafebox.RefreshSafeboxMoney()
  649. def CommandCloseSafebox(self):
  650. self.wndSafebox.CommandCloseSafebox()
  651. # ITEM_MALL
  652. def AskMallPassword(self):
  653. if self.wndMall.IsShow():
  654. return
  655. self.dlgPassword.SetTitle(localeInfo.MALL_PASSWORD_TITLE)
  656. self.dlgPassword.SetSendMessage("/mall_password ")
  657. self.dlgPassword.ShowDialog()
  658. def OpenMallWindow(self, size):
  659. self.dlgPassword.CloseDialog()
  660. self.wndMall.ShowWindow(size)
  661. def CommandCloseMall(self):
  662. self.wndMall.CommandCloseMall()
  663. # END_OF_ITEM_MALL
  664. ## Guild
  665. def OnStartGuildWar(self, guildSelf, guildOpp):
  666. self.wndGuild.OnStartGuildWar(guildSelf, guildOpp)
  667. guildWarScoreBoard = uiGuild.GuildWarScoreBoard()
  668. guildWarScoreBoard.Open(guildSelf, guildOpp)
  669. guildWarScoreBoard.Show()
  670. self.guildScoreBoardDict[uiGuild.GetGVGKey(guildSelf, guildOpp)] = guildWarScoreBoard
  671. def OnEndGuildWar(self, guildSelf, guildOpp):
  672. self.wndGuild.OnEndGuildWar(guildSelf, guildOpp)
  673. key = uiGuild.GetGVGKey(guildSelf, guildOpp)
  674. if not self.guildScoreBoardDict.has_key(key):
  675. return
  676. self.guildScoreBoardDict[key].Destroy()
  677. del self.guildScoreBoardDict[key]
  678. # GUILDWAR_MEMBER_COUNT
  679. def UpdateMemberCount(self, gulidID1, memberCount1, guildID2, memberCount2):
  680. key = uiGuild.GetGVGKey(gulidID1, guildID2)
  681. if not self.guildScoreBoardDict.has_key(key):
  682. return
  683. self.guildScoreBoardDict[key].UpdateMemberCount(gulidID1, memberCount1, guildID2, memberCount2)
  684. # END_OF_GUILDWAR_MEMBER_COUNT
  685. def OnRecvGuildWarPoint(self, gainGuildID, opponentGuildID, point):
  686. key = uiGuild.GetGVGKey(gainGuildID, opponentGuildID)
  687. if not self.guildScoreBoardDict.has_key(key):
  688. return
  689. guildBoard = self.guildScoreBoardDict[key]
  690. guildBoard.SetScore(gainGuildID, opponentGuildID, point)
  691. ## PK Mode
  692. def OnChangePKMode(self):
  693. self.wndCharacter.RefreshAlignment()
  694. self.dlgSystem.OnChangePKMode()
  695. ## Refine
  696. def OpenRefineDialog(self, targetItemPos, nextGradeItemVnum, cost, prob, type):
  697. self.dlgRefineNew.Open(targetItemPos, nextGradeItemVnum, cost, prob, type)
  698. def AppendMaterialToRefineDialog(self, vnum, count):
  699. self.dlgRefineNew.AppendMaterial(vnum, count)
  700. if constInfo.ENABLE_FAST_REFINE:
  701. def CheckRefineDialog(self, isFail):
  702. self.dlgRefineNew.CheckRefine(isFail)
  703. if app.ENABLE_AUTO_HUNT_SYSTEM:
  704. def OpenAutohuntWindow(self):
  705. if self.dlgAutohunt.IsShow():
  706. self.dlgAutohunt.Close()
  707. else:
  708. self.dlgAutohunt.Open()
  709. def AutohuntRemoveSkillSlot(self, slot):
  710. self.dlgAutohunt.AutohuntRemoveSkillSlot(slot)
  711. def AutohuntRemoveItemSlot(self, slot):
  712. self.dlgAutohunt.AutohuntRemoveItemSlot(slot)
  713. ## Show & Hide
  714. def ShowDefaultWindows(self):
  715. self.wndTaskBar.Show()
  716. self.wndMiniMap.Show()
  717. self.wndMiniMap.ShowMiniMap()
  718. if self.wndEnergyBar:
  719. self.wndEnergyBar.Show()
  720. def ShowAllWindows(self):
  721. self.wndTaskBar.Show()
  722. self.wndCharacter.Show()
  723. self.wndInventory.Show()
  724. if app.ENABLE_DRAGON_SOUL_SYSTEM:
  725. self.wndDragonSoul.Show()
  726. self.wndDragonSoulRefine.Show()
  727. self.wndChat.Show()
  728. self.wndMiniMap.Show()
  729. if self.wndEnergyBar:
  730. self.wndEnergyBar.Show()
  731. if self.wndExpandedTaskBar:
  732. self.wndExpandedTaskBar.Show()
  733. self.wndExpandedTaskBar.SetTop()
  734. def HideAllWindows(self):
  735. if self.wndTaskBar:
  736. self.wndTaskBar.Hide()
  737. if self.wndEnergyBar:
  738. self.wndEnergyBar.Hide()
  739. if self.wndCharacter:
  740. self.wndCharacter.Hide()
  741. if self.wndInventory:
  742. self.wndInventory.Hide()
  743. if app.ENABLE_DRAGON_SOUL_SYSTEM:
  744. self.wndDragonSoul.Hide()
  745. self.wndDragonSoulRefine.Hide()
  746. if self.wndChat:
  747. self.wndChat.Hide()
  748. if self.wndMiniMap:
  749. self.wndMiniMap.Hide()
  750. if self.wndMessenger:
  751. self.wndMessenger.Hide()
  752. if self.wndGuild:
  753. self.wndGuild.Hide()
  754. if self.wndExpandedTaskBar:
  755. self.wndExpandedTaskBar.Hide()
  756. if app.ENABLE_AURA_SYSTEM:
  757. if self.wndAura:
  758. self.wndAura.Hide()
  759. def ShowMouseImage(self):
  760. self.wndTaskBar.ShowMouseImage()
  761. def HideMouseImage(self):
  762. self.wndTaskBar.HideMouseImage()
  763. def ToggleChat(self):
  764. if True == self.wndChat.IsEditMode():
  765. self.wndChat.CloseChat()
  766. else:
  767. if self.wndWeb and self.wndWeb.IsShow():
  768. pass
  769. else:
  770. self.wndChat.OpenChat()
  771. def IsOpenChat(self):
  772. return self.wndChat.IsEditMode()
  773. def SetChatFocus(self):
  774. self.wndChat.SetChatFocus()
  775. def OpenRestartDialog(self):
  776. self.dlgRestart.OpenDialog()
  777. self.dlgRestart.SetTop()
  778. def CloseRestartDialog(self):
  779. self.dlgRestart.Close()
  780. def ToggleSystemDialog(self):
  781. if False == self.dlgSystem.IsShow():
  782. self.dlgSystem.OpenDialog()
  783. self.dlgSystem.SetTop()
  784. else:
  785. self.dlgSystem.Close()
  786. def OpenSystemDialog(self):
  787. self.dlgSystem.OpenDialog()
  788. self.dlgSystem.SetTop()
  789. def ToggleMessenger(self):
  790. if self.wndMessenger.IsShow():
  791. self.wndMessenger.Hide()
  792. else:
  793. self.wndMessenger.SetTop()
  794. self.wndMessenger.Show()
  795. def ToggleMiniMap(self):
  796. if app.IsPressed(app.DIK_LSHIFT) or app.IsPressed(app.DIK_RSHIFT):
  797. if False == self.wndMiniMap.isShowMiniMap():
  798. self.wndMiniMap.ShowMiniMap()
  799. self.wndMiniMap.SetTop()
  800. else:
  801. self.wndMiniMap.HideMiniMap()
  802. else:
  803. self.wndMiniMap.ToggleAtlasWindow()
  804. def PressMKey(self):
  805. if app.IsPressed(app.DIK_LALT) or app.IsPressed(app.DIK_RALT):
  806. self.ToggleMessenger()
  807. else:
  808. self.ToggleMiniMap()
  809. def SetMapName(self, mapName):
  810. self.wndMiniMap.SetMapName(mapName)
  811. def MiniMapScaleUp(self):
  812. self.wndMiniMap.ScaleUp()
  813. def MiniMapScaleDown(self):
  814. self.wndMiniMap.ScaleDown()
  815. def ToggleCharacterWindow(self, state):
  816. if False == player.IsObserverMode():
  817. if False == self.wndCharacter.IsShow():
  818. self.OpenCharacterWindowWithState(state)
  819. else:
  820. if state == self.wndCharacter.GetState():
  821. self.wndCharacter.OverOutItem()
  822. self.wndCharacter.Hide()
  823. else:
  824. self.wndCharacter.SetState(state)
  825. def OpenCharacterWindowWithState(self, state):
  826. if False == player.IsObserverMode():
  827. self.wndCharacter.SetState(state)
  828. self.wndCharacter.Show()
  829. self.wndCharacter.SetTop()
  830. def ToggleCharacterWindowStatusPage(self):
  831. self.ToggleCharacterWindow("STATUS")
  832. def ToggleInventoryWindow(self):
  833. if False == player.IsObserverMode():
  834. if False == self.wndInventory.IsShow():
  835. self.wndInventory.Show()
  836. self.wndInventory.SetTop()
  837. else:
  838. self.wndInventory.OverOutItem()
  839. self.wndInventory.Close()
  840. def ToggleExpandedButton(self):
  841. if False == player.IsObserverMode():
  842. if False == self.wndExpandedTaskBar.IsShow():
  843. self.wndExpandedTaskBar.Show()
  844. self.wndExpandedTaskBar.SetTop()
  845. else:
  846. self.wndExpandedTaskBar.Close()
  847. def DragonSoulActivate(self, deck):
  848. if app.ENABLE_DRAGON_SOUL_SYSTEM:
  849. self.wndDragonSoul.ActivateDragonSoulByExtern(deck)
  850. if app.ENABLE_DS_SET:
  851. def DragonSoulSetGrade(self, grade):
  852. self.wndDragonSoul.SetDSSetGrade(grade)
  853. def DragonSoulDeactivate(self):
  854. if app.ENABLE_DRAGON_SOUL_SYSTEM:
  855. self.wndDragonSoul.DeactivateDragonSoul()
  856. def Highligt_Item(self, inven_type, inven_pos):
  857. if player.DRAGON_SOUL_INVENTORY == inven_type:
  858. if app.ENABLE_DRAGON_SOUL_SYSTEM:
  859. self.wndDragonSoul.HighlightSlot(inven_pos)
  860. elif app.ENABLE_HIGHLIGHT_NEW_ITEM and player.SLOT_TYPE_INVENTORY == inven_type:
  861. self.wndInventory.HighlightSlot(inven_pos)
  862. def DragonSoulGiveQuilification(self):
  863. self.DRAGON_SOUL_IS_QUALIFIED = True
  864. self.wndExpandedTaskBar.SetToolTipText(uiTaskBar.ExpandedTaskBar.BUTTON_DRAGON_SOUL, uiScriptLocale.TASKBAR_DRAGON_SOUL)
  865. def ToggleDragonSoulWindow(self):
  866. if False == player.IsObserverMode():
  867. if app.ENABLE_DRAGON_SOUL_SYSTEM:
  868. if False == self.wndDragonSoul.IsShow():
  869. if self.DRAGON_SOUL_IS_QUALIFIED:
  870. self.wndDragonSoul.Show()
  871. else:
  872. try:
  873. self.wndPopupDialog.SetText(localeInfo.DRAGON_SOUL_UNQUALIFIED)
  874. self.wndPopupDialog.Open()
  875. except:
  876. self.wndPopupDialog = uiCommon.PopupDialog()
  877. self.wndPopupDialog.SetText(localeInfo.DRAGON_SOUL_UNQUALIFIED)
  878. self.wndPopupDialog.Open()
  879. else:
  880. self.wndDragonSoul.Close()
  881. def ToggleDragonSoulWindowWithNoInfo(self):
  882. if False == player.IsObserverMode():
  883. if app.ENABLE_DRAGON_SOUL_SYSTEM:
  884. if False == self.wndDragonSoul.IsShow():
  885. if self.DRAGON_SOUL_IS_QUALIFIED:
  886. self.wndDragonSoul.Show()
  887. else:
  888. self.wndDragonSoul.Close()
  889. def FailDragonSoulRefine(self, reason, inven_type, inven_pos):
  890. if False == player.IsObserverMode():
  891. if app.ENABLE_DRAGON_SOUL_SYSTEM:
  892. if True == self.wndDragonSoulRefine.IsShow():
  893. self.wndDragonSoulRefine.RefineFail(reason, inven_type, inven_pos)
  894. def SucceedDragonSoulRefine(self, inven_type, inven_pos):
  895. if False == player.IsObserverMode():
  896. if app.ENABLE_DRAGON_SOUL_SYSTEM:
  897. if True == self.wndDragonSoulRefine.IsShow():
  898. self.wndDragonSoulRefine.RefineSucceed(inven_type, inven_pos)
  899. def OpenDragonSoulRefineWindow(self):
  900. if False == player.IsObserverMode():
  901. if app.ENABLE_DRAGON_SOUL_SYSTEM:
  902. if False == self.wndDragonSoulRefine.IsShow():
  903. self.wndDragonSoulRefine.Show()
  904. if None != self.wndDragonSoul:
  905. if False == self.wndDragonSoul.IsShow():
  906. self.wndDragonSoul.Show()
  907. def CloseDragonSoulRefineWindow(self):
  908. if False == player.IsObserverMode():
  909. if app.ENABLE_DRAGON_SOUL_SYSTEM:
  910. if True == self.wndDragonSoulRefine.IsShow():
  911. self.wndDragonSoulRefine.Close()
  912. def ToggleGuildWindow(self):
  913. if not self.wndGuild.IsShow():
  914. if self.wndGuild.CanOpen():
  915. self.wndGuild.Open()
  916. else:
  917. chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.GUILD_YOU_DO_NOT_JOIN)
  918. else:
  919. self.wndGuild.OverOutItem()
  920. self.wndGuild.Hide()
  921. def ToggleChatLogWindow(self):
  922. if self.wndChatLog.IsShow():
  923. self.wndChatLog.Hide()
  924. else:
  925. self.wndChatLog.Show()
  926. def CheckGameButton(self):
  927. if self.wndGameButton:
  928. self.wndGameButton.CheckGameButton()
  929. def __OnClickStatusPlusButton(self):
  930. self.ToggleCharacterWindow("STATUS")
  931. def __OnClickSkillPlusButton(self):
  932. self.ToggleCharacterWindow("SKILL")
  933. def __OnClickQuestButton(self):
  934. self.ToggleCharacterWindow("QUEST")
  935. def __OnClickHelpButton(self):
  936. player.SetPlayTime(1)
  937. self.CheckGameButton()
  938. self.OpenHelpWindow()
  939. def __OnClickBuildButton(self):
  940. self.BUILD_OpenWindow()
  941. def OpenHelpWindow(self):
  942. self.wndUICurtain.Show()
  943. self.wndHelp.Open()
  944. def CloseHelpWindow(self):
  945. self.wndUICurtain.Hide()
  946. self.wndHelp.Close()
  947. def OpenWebWindow(self, url):
  948. self.wndWeb.Open(url)
  949. self.wndChat.CloseChat()
  950. # show GIFT
  951. def ShowGift(self):
  952. self.wndTaskBar.ShowGift()
  953. def CloseWbWindow(self):
  954. self.wndWeb.Close()
  955. if app.ENABLE_CUBE_RENEWAL_WORLDARD:
  956. def BINARY_CUBE_RENEWAL_OPEN(self):
  957. self.wndCubeRenewal.Show()
  958. def OpenCubeWindow(self):
  959. self.wndCube.Open()
  960. if False == self.wndInventory.IsShow():
  961. self.wndInventory.Show()
  962. if app.ENABLE_ACCE_SYSTEM:
  963. # def ActAcce(self, iAct, bWindow):
  964. # if iAct == 1:
  965. # if bWindow == True:
  966. # if not self.wndAcceCombine.IsOpened():
  967. # self.wndAcceCombine.Open()
  968. # if not self.wndInventory.IsShow():
  969. # self.wndInventory.Show()
  970. # else:
  971. # if not self.wndAcceAbsorption.IsOpened():
  972. # self.wndAcceAbsorption.Open()
  973. # if not self.wndInventory.IsShow():
  974. # self.wndInventory.Show()
  975. # self.wndInventory.RefreshBagSlotWindow()
  976. # elif iAct == 2:
  977. # if bWindow == True:
  978. # if self.wndAcceCombine.IsOpened():
  979. # self.wndAcceCombine.Close()
  980. # else:
  981. # if self.wndAcceAbsorption.IsOpened():
  982. # self.wndAcceAbsorption.Close()
  983. # self.wndInventory.RefreshBagSlotWindow()
  984. # elif iAct == 3 or iAct == 4:
  985. # if bWindow == True:
  986. # if self.wndAcceCombine.IsOpened():
  987. # self.wndAcceCombine.Refresh(iAct)
  988. # else:
  989. # if self.wndAcceAbsorption.IsOpened():
  990. # self.wndAcceAbsorption.Refresh(iAct)
  991. # self.wndInventory.RefreshBagSlotWindow()
  992. #@ikd
  993. def ActAcce(self, iAct, bWindow):
  994. board = (self.wndAcceAbsorption,self.wndAcceCombine)[int(bWindow)]
  995. if iAct == 1:
  996. self.ActAcceOpen(board)
  997. elif iAct == 2:
  998. self.ActAcceClose(board)
  999. elif iAct == 3 or iAct == 4:
  1000. self.ActAcceRefresh(board, iAct)
  1001. def ActAcceOpen(self,board):
  1002. if not board.IsOpened():
  1003. board.Open()
  1004. if not self.wndInventory.IsShow():
  1005. self.wndInventory.Show()
  1006. self.wndInventory.RefreshBagSlotWindow()
  1007. def ActAcceClose(self,board):
  1008. if board.IsOpened():
  1009. board.Close()
  1010. self.wndInventory.RefreshBagSlotWindow()
  1011. def ActAcceRefresh(self,board,iAct):
  1012. if board.IsOpened():
  1013. board.Refresh(iAct)
  1014. self.wndInventory.RefreshBagSlotWindow()
  1015. def UpdateCubeInfo(self, gold, itemVnum, count):
  1016. self.wndCube.UpdateInfo(gold, itemVnum, count)
  1017. def CloseCubeWindow(self):
  1018. self.wndCube.Close()
  1019. def FailedCubeWork(self):
  1020. self.wndCube.Refresh()
  1021. def SucceedCubeWork(self, itemVnum, count):
  1022. self.wndCube.Clear()
  1023. print "큐브 제작 성공! [%d:%d]" % (itemVnum, count)
  1024. if 0:
  1025. self.wndCubeResult.SetPosition(*self.wndCube.GetGlobalPosition())
  1026. self.wndCubeResult.SetCubeResultItem(itemVnum, count)
  1027. self.wndCubeResult.Open()
  1028. self.wndCubeResult.SetTop()
  1029. def __HideWindows(self):
  1030. hideWindows = self.wndTaskBar,\
  1031. self.wndCharacter,\
  1032. self.wndInventory,\
  1033. self.wndMiniMap,\
  1034. self.wndGuild,\
  1035. self.wndMessenger,\
  1036. self.wndChat,\
  1037. self.wndParty,\
  1038. self.wndGameButton,
  1039. if self.wndEnergyBar:
  1040. hideWindows += self.wndEnergyBar,
  1041. if self.wndExpandedTaskBar:
  1042. hideWindows += self.wndExpandedTaskBar,
  1043. if app.ENABLE_DRAGON_SOUL_SYSTEM:
  1044. hideWindows += self.wndDragonSoul,\
  1045. self.wndDragonSoulRefine,
  1046. hideWindows = filter(lambda x:x.IsShow(), hideWindows)
  1047. map(lambda x:x.Hide(), hideWindows)
  1048. self.HideAllQuestButton()
  1049. self.HideAllWhisperButton()
  1050. if self.wndChat.IsEditMode():
  1051. self.wndChat.CloseChat()
  1052. return hideWindows
  1053. def __ShowWindows(self, wnds):
  1054. map(lambda x:x.Show(), wnds)
  1055. global IsQBHide
  1056. if not IsQBHide:
  1057. self.ShowAllQuestButton()
  1058. else:
  1059. self.HideAllQuestButton()
  1060. self.ShowAllWhisperButton()
  1061. def BINARY_OpenAtlasWindow(self):
  1062. if self.wndMiniMap:
  1063. self.wndMiniMap.ShowAtlas()
  1064. def BINARY_SetObserverMode(self, flag):
  1065. self.wndGameButton.SetObserverMode(flag)
  1066. # ACCESSORY_REFINE_ADD_METIN_STONE
  1067. def BINARY_OpenSelectItemWindow(self):
  1068. self.wndItemSelect.Open()
  1069. # END_OF_ACCESSORY_REFINE_ADD_METIN_STONE
  1070. #####################################################################################
  1071. ### Private Shop ###
  1072. def OpenPrivateShopInputNameDialog(self):
  1073. #if player.IsInSafeArea():
  1074. # chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.CANNOT_OPEN_PRIVATE_SHOP_IN_SAFE_AREA)
  1075. # return
  1076. if app.ENABLE_AURA_SYSTEM:
  1077. if self.wndAura and self.wndAura.IsShow():
  1078. chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.AURA_OPEN_OTHER_WINDOW)
  1079. return
  1080. inputDialog = uiCommon.InputDialog()
  1081. inputDialog.SetTitle(localeInfo.PRIVATE_SHOP_INPUT_NAME_DIALOG_TITLE)
  1082. inputDialog.SetMaxLength(32)
  1083. inputDialog.SetAcceptEvent(ui.__mem_func__(self.OpenPrivateShopBuilder))
  1084. inputDialog.SetCancelEvent(ui.__mem_func__(self.ClosePrivateShopInputNameDialog))
  1085. inputDialog.Open()
  1086. self.inputDialog = inputDialog
  1087. def ClosePrivateShopInputNameDialog(self):
  1088. self.inputDialog = None
  1089. return True
  1090. def OpenPrivateShopBuilder(self):
  1091. if not self.inputDialog:
  1092. return True
  1093. if not len(self.inputDialog.GetText()):
  1094. return True
  1095. if app.ENABLE_AURA_SYSTEM:
  1096. if self.wndAura and self.wndAura.IsShow():
  1097. chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.AURA_OPEN_OTHER_WINDOW)
  1098. return
  1099. self.privateShopBuilder.Open(self.inputDialog.GetText())
  1100. self.ClosePrivateShopInputNameDialog()
  1101. return True
  1102. def AppearPrivateShop(self, vid, text):
  1103. board = uiPrivateShopBuilder.PrivateShopAdvertisementBoard()
  1104. board.Open(vid, text)
  1105. self.privateShopAdvertisementBoardDict[vid] = board
  1106. def DisappearPrivateShop(self, vid):
  1107. if not self.privateShopAdvertisementBoardDict.has_key(vid):
  1108. return
  1109. del self.privateShopAdvertisementBoardDict[vid]
  1110. uiPrivateShopBuilder.DeleteADBoard(vid)
  1111. #####################################################################################
  1112. ### Equipment ###
  1113. def OpenEquipmentDialog(self, vid):
  1114. dlg = uiEquipmentDialog.EquipmentDialog()
  1115. dlg.SetItemToolTip(self.tooltipItem)
  1116. dlg.SetCloseEvent(ui.__mem_func__(self.CloseEquipmentDialog))
  1117. dlg.Open(vid)
  1118. self.equipmentDialogDict[vid] = dlg
  1119. def SetEquipmentDialogItem(self, vid, slotIndex, vnum, count):
  1120. if not vid in self.equipmentDialogDict:
  1121. return
  1122. self.equipmentDialogDict[vid].SetEquipmentDialogItem(slotIndex, vnum, count)
  1123. def SetEquipmentDialogSocket(self, vid, slotIndex, socketIndex, value):
  1124. if not vid in self.equipmentDialogDict:
  1125. return
  1126. self.equipmentDialogDict[vid].SetEquipmentDialogSocket(slotIndex, socketIndex, value)
  1127. def SetEquipmentDialogAttr(self, vid, slotIndex, attrIndex, type, value):
  1128. if not vid in self.equipmentDialogDict:
  1129. return
  1130. self.equipmentDialogDict[vid].SetEquipmentDialogAttr(slotIndex, attrIndex, type, value)
  1131. def CloseEquipmentDialog(self, vid):
  1132. if not vid in self.equipmentDialogDict:
  1133. return
  1134. del self.equipmentDialogDict[vid]
  1135. #####################################################################################
  1136. #####################################################################################
  1137. ### Quest ###
  1138. def BINARY_ClearQuest(self, index):
  1139. btn = self.__FindQuestButton(index)
  1140. if 0 != btn:
  1141. self.__DestroyQuestButton(btn)
  1142. def RecvQuest(self, index, name):
  1143. # QUEST_LETTER_IMAGE
  1144. self.BINARY_RecvQuest(index, name, "file", localeInfo.GetLetterImageName())
  1145. # END_OF_QUEST_LETTER_IMAGE
  1146. def BINARY_RecvQuest(self, index, name, iconType, iconName):
  1147. btn = self.__FindQuestButton(index)
  1148. if 0 != btn:
  1149. self.__DestroyQuestButton(btn)
  1150. btn = uiWhisper.WhisperButton()
  1151. # QUEST_LETTER_IMAGE
  1152. import item
  1153. if "item"==iconType:
  1154. item.SelectItem(int(iconName))
  1155. buttonImageFileName=item.GetIconImageFileName()
  1156. else:
  1157. buttonImageFileName=iconName
  1158. if iconName and (iconType not in ("item", "file")): # type "ex" implied
  1159. btn.SetUpVisual("d:/ymir work/ui/game/quest/questicon/%s" % (iconName.replace("open", "close")))
  1160. btn.SetOverVisual("d:/ymir work/ui/game/quest/questicon/%s" % (iconName))
  1161. btn.SetDownVisual("d:/ymir work/ui/game/quest/questicon/%s" % (iconName))
  1162. else:
  1163. if localeInfo.IsEUROPE():
  1164. btn.SetUpVisual(localeInfo.GetLetterCloseImageName())
  1165. btn.SetOverVisual(localeInfo.GetLetterOpenImageName())
  1166. btn.SetDownVisual(localeInfo.GetLetterOpenImageName())
  1167. else:
  1168. btn.SetUpVisual(buttonImageFileName)
  1169. btn.SetOverVisual(buttonImageFileName)
  1170. btn.SetDownVisual(buttonImageFileName)
  1171. btn.Flash()
  1172. # END_OF_QUEST_LETTER_IMAGE
  1173. if localeInfo.IsARABIC():
  1174. btn.SetToolTipText(name, 0, 35)
  1175. btn.ToolTipText.SetHorizontalAlignCenter()
  1176. else:
  1177. btn.SetToolTipText(name, -20, 35)
  1178. btn.ToolTipText.SetHorizontalAlignLeft()
  1179. listOfTypes = iconType.split(",")
  1180. if "blink" in listOfTypes:
  1181. btn.Flash()
  1182. listOfColors = {
  1183. "golden": 0xFFffa200,
  1184. "green": 0xFF00e600,
  1185. "blue": 0xFF0099ff,
  1186. "purple": 0xFFcc33ff,
  1187. "fucsia": 0xFFcc0099,
  1188. "aqua": 0xFF00ffff,
  1189. }
  1190. for k,v in listOfColors.iteritems():
  1191. if k in listOfTypes:
  1192. btn.ToolTipText.SetPackedFontColor(v)
  1193. btn.SetEvent(ui.__mem_func__(self.__StartQuest), btn)
  1194. btn.Show()
  1195. btn.index = index
  1196. btn.name = name
  1197. self.questButtonList.insert(0, btn)
  1198. self.__ArrangeQuestButton()
  1199. def __ArrangeQuestButton(self):
  1200. screenWidth = wndMgr.GetScreenWidth()
  1201. screenHeight = wndMgr.GetScreenHeight()
  1202. if self.wndParty.IsShow():
  1203. xPos = 100 + 30
  1204. else:
  1205. xPos = 20
  1206. if localeInfo.IsARABIC():
  1207. xPos = xPos + 15
  1208. yPos = 170 * screenHeight / 600
  1209. yCount = (screenHeight - 330) / 63
  1210. count = 0
  1211. for btn in self.questButtonList:
  1212. btn.SetPosition(xPos + (int(count/yCount) * 100), yPos + (count%yCount * 63))
  1213. count += 1
  1214. global IsQBHide
  1215. if IsQBHide:
  1216. btn.Hide()
  1217. else:
  1218. btn.Show()
  1219. def __StartQuest(self, btn):
  1220. event.QuestButtonClick(btn.index)
  1221. self.__DestroyQuestButton(btn)
  1222. def __FindQuestButton(self, index):
  1223. for btn in self.questButtonList:
  1224. if btn.index == index:
  1225. return btn
  1226. return 0
  1227. def __DestroyQuestButton(self, btn):
  1228. btn.SetEvent(0)
  1229. self.questButtonList.remove(btn)
  1230. self.__ArrangeQuestButton()
  1231. def HideAllQuestButton(self):
  1232. for btn in self.questButtonList:
  1233. btn.Hide()
  1234. def ShowAllQuestButton(self):
  1235. for btn in self.questButtonList:
  1236. btn.Show()
  1237. #####################################################################################
  1238. #####################################################################################
  1239. ### Whisper ###
  1240. def __InitWhisper(self):
  1241. chat.InitWhisper(self)
  1242. def OpenWhisperDialogWithoutTarget(self):
  1243. if not self.dlgWhisperWithoutTarget:
  1244. dlgWhisper = uiWhisper.WhisperDialog(self.MinimizeWhisperDialog, self.CloseWhisperDialog)
  1245. dlgWhisper.BindInterface(self)
  1246. dlgWhisper.LoadDialog()
  1247. dlgWhisper.OpenWithoutTarget(self.RegisterTemporaryWhisperDialog)
  1248. dlgWhisper.SetPosition(self.windowOpenPosition*30,self.windowOpenPosition*30)
  1249. dlgWhisper.Show()
  1250. self.dlgWhisperWithoutTarget = dlgWhisper
  1251. self.windowOpenPosition = (self.windowOpenPosition+1) % 5
  1252. else:
  1253. self.dlgWhisperWithoutTarget.SetTop()
  1254. self.dlgWhisperWithoutTarget.OpenWithoutTarget(self.RegisterTemporaryWhisperDialog)
  1255. def RegisterTemporaryWhisperDialog(self, name):
  1256. if not self.dlgWhisperWithoutTarget:
  1257. return
  1258. btn = self.__FindWhisperButton(name)
  1259. if 0 != btn:
  1260. self.__DestroyWhisperButton(btn)
  1261. elif self.whisperDialogDict.has_key(name):
  1262. oldDialog = self.whisperDialogDict[name]
  1263. oldDialog.Destroy()
  1264. del self.whisperDialogDict[name]
  1265. self.whisperDialogDict[name] = self.dlgWhisperWithoutTarget
  1266. self.dlgWhisperWithoutTarget.OpenWithTarget(name)
  1267. self.dlgWhisperWithoutTarget = None
  1268. self.__CheckGameMaster(name)
  1269. def OpenWhisperDialog(self, name):
  1270. if not self.whisperDialogDict.has_key(name):
  1271. dlg = self.__MakeWhisperDialog(name)
  1272. dlg.OpenWithTarget(name)
  1273. dlg.chatLine.SetFocus()
  1274. dlg.Show()
  1275. self.__CheckGameMaster(name)
  1276. btn = self.__FindWhisperButton(name)
  1277. if 0 != btn:
  1278. self.__DestroyWhisperButton(btn)
  1279. def RecvWhisper(self, name):
  1280. if not self.whisperDialogDict.has_key(name):
  1281. btn = self.__FindWhisperButton(name)
  1282. if 0 == btn:
  1283. btn = self.__MakeWhisperButton(name)
  1284. btn.Flash()
  1285. chat.AppendChat(chat.CHAT_TYPE_NOTICE, localeInfo.RECEIVE_MESSAGE % (name))
  1286. else:
  1287. btn.Flash()
  1288. elif self.IsGameMasterName(name):
  1289. dlg = self.whisperDialogDict[name]
  1290. dlg.SetGameMasterLook()
  1291. def MakeWhisperButton(self, name):
  1292. self.__MakeWhisperButton(name)
  1293. def ShowWhisperDialog(self, btn):
  1294. try:
  1295. self.__MakeWhisperDialog(btn.name)
  1296. dlgWhisper = self.whisperDialogDict[btn.name]
  1297. dlgWhisper.OpenWithTarget(btn.name)
  1298. dlgWhisper.Show()
  1299. self.__CheckGameMaster(btn.name)
  1300. except:
  1301. import dbg
  1302. dbg.TraceError("interface.ShowWhisperDialog - Failed to find key")
  1303. self.__DestroyWhisperButton(btn)
  1304. def MinimizeWhisperDialog(self, name):
  1305. if 0 != name:
  1306. self.__MakeWhisperButton(name)
  1307. self.CloseWhisperDialog(name)
  1308. def CloseWhisperDialog(self, name):
  1309. if 0 == name:
  1310. if self.dlgWhisperWithoutTarget:
  1311. self.dlgWhisperWithoutTarget.Destroy()
  1312. self.dlgWhisperWithoutTarget = None
  1313. return
  1314. try:
  1315. dlgWhisper = self.whisperDialogDict[name]
  1316. dlgWhisper.Destroy()
  1317. del self.whisperDialogDict[name]
  1318. except:
  1319. import dbg
  1320. dbg.TraceError("interface.CloseWhisperDialog - Failed to find key")
  1321. def __ArrangeWhisperButton(self):
  1322. screenWidth = wndMgr.GetScreenWidth()
  1323. screenHeight = wndMgr.GetScreenHeight()
  1324. xPos = screenWidth - 70
  1325. yPos = 170 * screenHeight / 600
  1326. yCount = (screenHeight - 330) / 63
  1327. #yCount = (screenHeight - 285) / 63
  1328. count = 0
  1329. for button in self.whisperButtonList:
  1330. button.SetPosition(xPos + (int(count/yCount) * -50), yPos + (count%yCount * 63))
  1331. count += 1
  1332. def __FindWhisperButton(self, name):
  1333. for button in self.whisperButtonList:
  1334. if button.name == name:
  1335. return button
  1336. return 0
  1337. def __MakeWhisperDialog(self, name):
  1338. dlgWhisper = uiWhisper.WhisperDialog(self.MinimizeWhisperDialog, self.CloseWhisperDialog)
  1339. dlgWhisper.BindInterface(self)
  1340. dlgWhisper.LoadDialog()
  1341. dlgWhisper.SetPosition(self.windowOpenPosition*30,self.windowOpenPosition*30)
  1342. self.whisperDialogDict[name] = dlgWhisper
  1343. self.windowOpenPosition = (self.windowOpenPosition+1) % 5
  1344. return dlgWhisper
  1345. def __MakeWhisperButton(self, name):
  1346. whisperButton = uiWhisper.WhisperButton()
  1347. whisperButton.SetUpVisual("d:/ymir work/ui/game/windows/btn_mail_up.sub")
  1348. whisperButton.SetOverVisual("d:/ymir work/ui/game/windows/btn_mail_up.sub")
  1349. whisperButton.SetDownVisual("d:/ymir work/ui/game/windows/btn_mail_up.sub")
  1350. if self.IsGameMasterName(name):
  1351. whisperButton.SetToolTipTextWithColor(name, 0xffffa200)
  1352. else:
  1353. whisperButton.SetToolTipText(name)
  1354. whisperButton.ToolTipText.SetHorizontalAlignCenter()
  1355. whisperButton.SetEvent(ui.__mem_func__(self.ShowWhisperDialog), whisperButton)
  1356. whisperButton.Show()
  1357. whisperButton.name = name
  1358. self.whisperButtonList.insert(0, whisperButton)
  1359. self.__ArrangeWhisperButton()
  1360. return whisperButton
  1361. def __DestroyWhisperButton(self, button):
  1362. button.SetEvent(0)
  1363. self.whisperButtonList.remove(button)
  1364. self.__ArrangeWhisperButton()
  1365. def HideAllWhisperButton(self):
  1366. for btn in self.whisperButtonList:
  1367. btn.Hide()
  1368. def ShowAllWhisperButton(self):
  1369. for btn in self.whisperButtonList:
  1370. btn.Show()
  1371. def __CheckGameMaster(self, name):
  1372. if not self.listGMName.has_key(name):
  1373. return
  1374. if self.whisperDialogDict.has_key(name):
  1375. dlg = self.whisperDialogDict[name]
  1376. dlg.SetGameMasterLook()
  1377. def RegisterGameMasterName(self, name):
  1378. if self.listGMName.has_key(name):
  1379. return
  1380. self.listGMName[name] = "GM"
  1381. def IsGameMasterName(self, name):
  1382. if self.listGMName.has_key(name):
  1383. return True
  1384. else:
  1385. return False
  1386. #####################################################################################
  1387. #####################################################################################
  1388. ### Guild Building ###
  1389. def BUILD_OpenWindow(self):
  1390. self.wndGuildBuilding = uiGuild.BuildGuildBuildingWindow()
  1391. self.wndGuildBuilding.Open()
  1392. self.wndGuildBuilding.wnds = self.__HideWindows()
  1393. self.wndGuildBuilding.SetCloseEvent(ui.__mem_func__(self.BUILD_CloseWindow))
  1394. def BUILD_CloseWindow(self):
  1395. self.__ShowWindows(self.wndGuildBuilding.wnds)
  1396. self.wndGuildBuilding = None
  1397. def BUILD_OnUpdate(self):
  1398. if not self.wndGuildBuilding:
  1399. return
  1400. if self.wndGuildBuilding.IsPositioningMode():
  1401. import background
  1402. x, y, z = background.GetPickingPoint()
  1403. self.wndGuildBuilding.SetBuildingPosition(x, y, z)
  1404. def BUILD_OnMouseLeftButtonDown(self):
  1405. if not self.wndGuildBuilding:
  1406. return
  1407. # GUILD_BUILDING
  1408. if self.wndGuildBuilding.IsPositioningMode():
  1409. self.wndGuildBuilding.SettleCurrentPosition()
  1410. return True
  1411. elif self.wndGuildBuilding.IsPreviewMode():
  1412. pass
  1413. else:
  1414. return True
  1415. # END_OF_GUILD_BUILDING
  1416. return False
  1417. def BUILD_OnMouseLeftButtonUp(self):
  1418. if not self.wndGuildBuilding:
  1419. return
  1420. if not self.wndGuildBuilding.IsPreviewMode():
  1421. return True
  1422. return False
  1423. def BULID_EnterGuildArea(self, areaID):
  1424. # GUILD_BUILDING
  1425. mainCharacterName = player.GetMainCharacterName()
  1426. masterName = guild.GetGuildMasterName()
  1427. if mainCharacterName != masterName:
  1428. return
  1429. if areaID != player.GetGuildID():
  1430. return
  1431. # END_OF_GUILD_BUILDING
  1432. self.wndGameButton.ShowBuildButton()
  1433. def BULID_ExitGuildArea(self, areaID):
  1434. self.wndGameButton.HideBuildButton()
  1435. #####################################################################################
  1436. def IsEditLineFocus(self):
  1437. if self.ChatWindow.chatLine.IsFocus():
  1438. return 1
  1439. if self.ChatWindow.chatToLine.IsFocus():
  1440. return 1
  1441. return 0
  1442. def EmptyFunction(self):
  1443. pass
  1444. if app.ENABLE_DROP_DIALOG_EXTENDED_SYSTEM:
  1445. def DeleteItem(self, slotPos, invenType):
  1446. if self.wndInventory:
  1447. self.wndInventory.DeleteItem(slotPos, invenType)
  1448. if app.ENABLE_AURA_SYSTEM:
  1449. def AuraWindowOpen(self, type):
  1450. if self.wndAura.IsShow():
  1451. return
  1452. if self.inputDialog or self.privateShopBuilder.IsShow():# or shop.GetNameDialogOpen():
  1453. chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.ACCE_NOT_OPEN_PRIVATE_SHOP)
  1454. return
  1455. if self.dlgRefineNew and self.dlgRefineNew.IsShow():
  1456. chat.AppendChat(chat.CHAT_TYPE_INFO, localeInfo.ACCE_NOT_OPEN_REFINE)
  1457. return
  1458. self.wndAura.Open(type)
  1459. if not self.wndInventory.IsShow():
  1460. self.wndInventory.Show()
  1461. def AuraWindowClose(self):
  1462. if not self.wndAura.IsShow():
  1463. return
  1464. self.wndAura.CloseWindow()
  1465. if __name__ == "__main__":
  1466. import app
  1467. import wndMgr
  1468. import systemSetting
  1469. import mouseModule
  1470. import grp
  1471. import ui
  1472. import localeInfo
  1473. app.SetMouseHandler(mouseModule.mouseController)
  1474. app.SetHairColorEnable(True)
  1475. wndMgr.SetMouseHandler(mouseModule.mouseController)
  1476. wndMgr.SetScreenSize(systemSetting.GetWidth(), systemSetting.GetHeight())
  1477. app.Create(localeInfo.APP_TITLE, systemSetting.GetWidth(), systemSetting.GetHeight(), 1)
  1478. mouseModule.mouseController.Create()
  1479. class TestGame(ui.Window):
  1480. def __init__(self):
  1481. ui.Window.__init__(self)
  1482. localeInfo.LoadLocaleData()
  1483. player.SetItemData(0, 27001, 10)
  1484. player.SetItemData(1, 27004, 10)
  1485. self.interface = Interface()
  1486. self.interface.MakeInterface()
  1487. self.interface.ShowDefaultWindows()
  1488. self.interface.RefreshInventory()
  1489. #self.interface.OpenCubeWindow()
  1490. def __del__(self):
  1491. ui.Window.__del__(self)
  1492. def OnUpdate(self):
  1493. app.UpdateGame()
  1494. def OnRender(self):
  1495. app.RenderGame()
  1496. grp.PopState()
  1497. grp.SetInterfaceRenderState()
  1498. game = TestGame()
  1499. game.SetSize(systemSetting.GetWidth(), systemSetting.GetHeight())
  1500. game.Show()
  1501. app.Loop()