Advertisement
Guest User

Untitled

a guest
Jan 22nd, 2019
138
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.26 KB | None | 0 0
  1. import ui
  2. import net
  3. import wndMgr
  4. import item
  5. import chat
  6. import uiToolTip
  7.  
  8. T_W = 10
  9.  
  10. class UiSearchSystem(ui.ScriptWindow):
  11. def __init__(self):
  12. ui.ScriptWindow.__init__(self)
  13. self.curPage = 1
  14. self.MaxPage = T_W
  15. self.items=[]
  16. self.lst2=[]
  17.  
  18. def __del__(self):
  19. ui.ScriptWindow.__del__(self)
  20.  
  21. def LoadWindow(self):
  22. try:
  23. pyScrLoader = ui.PythonScriptLoader()
  24. pyScrLoader.LoadScriptFile(self, "d:/ymir work/privateshopsearchdialog.py")
  25. except:
  26. import exception
  27. exception.Abort("UiSearchSystemElement.LoadWindow")
  28.  
  29. try:
  30. self.board = self.GetChild("board")
  31. self.item_name = self.GetChild("ItemNameValue")
  32. self.item_gold = self.GetChild("ItemGoldValue")
  33. self.search = self.GetChild("SearchButton")
  34. self.prev_button = self.GetChild("prev_button")
  35. self.last_prev_button = self.GetChild("last_prev_button")
  36. self.next_button = self.GetChild("next_button")
  37. self.last_next_button = self.GetChild("last_next_button")
  38. self.acept_button = self.GetChild("AceptButton")
  39. self.GetChild("TitleBar").SetCloseEvent(ui.__mem_func__(self.Close))
  40.  
  41. except:
  42. import exception
  43. exception.Abort("UiSearchSystemElement.LoadWindow")
  44.  
  45. self.prev_button.SetEvent(self.__OnClickArrow, 'MOSTBOUGHT_RIGHT')
  46. self.last_prev_button.SetEvent(self.__OnClickArrow, 'MOSTBOUGHT_RIGHT_LAST')
  47. self.next_button.SetEvent(self.__OnClickArrow, 'MOSTBOUGHT_LEFT')
  48. self.last_next_button.SetEvent(self.__OnClickArrow, 'MOSTBOUGHT_LEFT_LAST')
  49. self.search.SetEvent(self.__OnSearch)
  50. self.acept_button.SetEvent(self.__AceptButton)
  51.  
  52. self.Box = UiSearchSystemBox()
  53. self.Box.Open(self.board,137,62)
  54. self.Box.Hide()
  55.  
  56. self.prev_button.Hide()
  57. self.last_prev_button.Hide()
  58. self.next_button.Hide()
  59. self.last_next_button.Hide()
  60.  
  61. def Destroy(self):
  62. self.ClearDictionary()
  63. self.items = []
  64. self.lst2=[]
  65.  
  66. def Information(self,names):
  67. self.items.append(names)
  68.  
  69. def Page(self):
  70. self.Box.Hide()
  71. self.Box.ClearList()
  72.  
  73. for key in self.items:
  74. if key not in self.lst2:
  75. self.lst2.append(key)
  76.  
  77. for a in xrange(min(self.MaxPage, len(self.lst2) - self.curPage * self.MaxPage +self.MaxPage)):
  78. curId = self.lst2[a + (self.curPage - 1)*self.MaxPage]
  79. curGold = self.item_gold.GetText()
  80. curCount = self.Count(curId, self.items)
  81. self.Box.SetContent(curId,a,curCount,curGold)
  82. self.Box.Show()
  83.  
  84. if self.curPage *self.MaxPage >= len(self.lst2):
  85. self.next_button.Hide()
  86. self.last_next_button.Hide()
  87. else:
  88. self.next_button.Show()
  89. self.last_next_button.Show()
  90.  
  91. if self.curPage > 1:
  92. self.prev_button.Show()
  93. self.last_prev_button.Show()
  94. else:
  95. self.prev_button.Hide()
  96. self.last_prev_button.Hide()
  97.  
  98. def __OnClickArrow(self, arrow):
  99. Left_Last = self.WFunction(float(len(self.lst2))/float(self.MaxPage))
  100.  
  101. if arrow == 'MOSTBOUGHT_LEFT':
  102. self.curPage += 1
  103. self.Page()
  104. elif arrow == 'MOSTBOUGHT_LEFT_LAST':
  105. self.curPage = Left_Last
  106. self.Page()
  107. elif arrow == 'MOSTBOUGHT_RIGHT':
  108. self.curPage -= 1
  109. self.Page()
  110. elif arrow == 'MOSTBOUGHT_RIGHT_LAST':
  111. self.curPage = 1
  112. self.Page()
  113.  
  114. def WFunction(self, num):
  115. if (num + 1) != int(num+1):
  116. return int(num+1)
  117. else:
  118. return int(num)
  119.  
  120. def Count(self, elemento, lista):
  121. veces = 0
  122. for i in lista:
  123. if elemento == i:
  124. veces += 1
  125. return veces
  126.  
  127. def __OnSearch(self):
  128. self.items = []
  129. self.lst2=[]
  130. item_name = self.item_name.GetText()
  131. item_gold = self.item_gold.GetText()
  132. if item_gold == "":
  133. chat.AppendChat(1, "[Cautator Magazine] Campul pretului este gol!")
  134. return
  135.  
  136. self.curPage = 1
  137.  
  138. net.SendPrivateSearch(str(item_name),int(item_gold))
  139.  
  140. def __AceptButton(self):
  141. self.Box.ClickEvent()
  142.  
  143. def Close(self):
  144. wndMgr.Hide(self.hWnd)
  145.  
  146. class UiSearchSystemBox(ui.ScriptWindow):
  147. def __init__(self):
  148. ui.ScriptWindow.__init__(self)
  149. self.isLoaded = FALSE
  150. self.toolTipItems = {}
  151. for i in xrange(0,T_W):
  152. self.toolTipItems[i] = uiToolTip.ItemToolTip()
  153. self.vnum = 0
  154. self.index = 0
  155. self.gold = 0
  156. self.item_bg = {}
  157. self.item_name = {}
  158. self.item_count = {}
  159. self.list_items = []
  160. self.index_select = None
  161. self.index_over = 0
  162.  
  163. def __del__(self):
  164. ui.ScriptWindow.__del__(self)
  165.  
  166. def LoadWindow(self):
  167. try:
  168. pyScrLoader = ui.PythonScriptLoader()
  169. pyScrLoader.LoadScriptFile(self, "d:/ymir work/privateshopsearchdialogitems.py")
  170. except:
  171. import exception
  172. exception.Abort("UiSearchSystemElement.LoadWindow")
  173.  
  174. try:
  175. for i in xrange(0,T_W):
  176. self.item_bg[i] = self.GetChild("PrivateSearchBoxItemsBG%s"%i)
  177. self.item_name[i] = self.GetChild("PrivateSearchBoxItemsName%s"%i)
  178. self.item_count[i] = self.GetChild("PrivateSearchBoxItemsCount%s"%i)
  179. self.item_bg[i].SetEvent(self.SelectItem,i)
  180. self.item_bg[i].Hide()
  181. except:
  182. import exception
  183. exception.Abort("UiSearchSystemElement.LoadWindow")
  184.  
  185. self.isLoaded = TRUE
  186.  
  187. def Open(self, parent, x, y):
  188. if FALSE == self.isLoaded:
  189. self.LoadWindow()
  190.  
  191. self.SetParent(parent)
  192. self.SetPosition(x,y)
  193. self.Show()
  194.  
  195. def SetContent(self, vnum, index, count, gold):
  196. self.vnum = int(vnum)
  197. self.index = index
  198. self.gold = int(gold)
  199.  
  200. item.SelectItem(int(vnum))
  201.  
  202. self.item_name[index].SetText(item.GetItemName())
  203. self.item_count[index].SetText(str(count))
  204. self.item_bg[index].Show()
  205. self.list_items.append(vnum)
  206.  
  207. def SelectItem(self,index):
  208. for i in xrange(0,T_W):
  209. self.item_bg[i].SetUp()
  210. self.item_bg[index].Down()
  211. self.index_select = index
  212.  
  213. def ClickEvent(self):
  214. if self.index_select == None:
  215. chat.AppendChat(1,"[Cautator Magazine] Selectati o optiune.")
  216. return
  217. net.SendChatPacket("/search_shop %s %d" % (self.list_items[self.index_select],self.gold))
  218.  
  219. def ClearList(self):
  220. for i in xrange(0,T_W):
  221. self.item_bg[i].Hide()
  222. self.item_bg[i].SetUp()
  223. self.list_items = []
  224.  
  225. def ShowItemTool(self,index):
  226. self.toolTipItems[index].ClearToolTip()
  227. self.toolTipItems[index].AddItemData(int(self.list_items[self.index_over]),0,0,0,0,1)
  228.  
  229. def HideItemTool(self,index):
  230. self.toolTipItems[index].Hide()
  231.  
  232. def OnUpdate(self):
  233. for i in xrange(0,T_W):
  234. if self.item_bg[i].IsIn():
  235. self.index_over = i
  236. self.ShowItemTool(i)
  237. else:
  238. self.HideItemTool(i)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement