Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import ui
- import net
- import wndMgr
- import item
- import chat
- import uiToolTip
- T_W = 10
- class UiSearchSystem(ui.ScriptWindow):
- def __init__(self):
- ui.ScriptWindow.__init__(self)
- self.curPage = 1
- self.MaxPage = T_W
- self.items=[]
- self.lst2=[]
- def __del__(self):
- ui.ScriptWindow.__del__(self)
- def LoadWindow(self):
- try:
- pyScrLoader = ui.PythonScriptLoader()
- pyScrLoader.LoadScriptFile(self, "d:/ymir work/privateshopsearchdialog.py")
- except:
- import exception
- exception.Abort("UiSearchSystemElement.LoadWindow")
- try:
- self.board = self.GetChild("board")
- self.item_name = self.GetChild("ItemNameValue")
- self.item_gold = self.GetChild("ItemGoldValue")
- self.search = self.GetChild("SearchButton")
- self.prev_button = self.GetChild("prev_button")
- self.last_prev_button = self.GetChild("last_prev_button")
- self.next_button = self.GetChild("next_button")
- self.last_next_button = self.GetChild("last_next_button")
- self.acept_button = self.GetChild("AceptButton")
- self.GetChild("TitleBar").SetCloseEvent(ui.__mem_func__(self.Close))
- except:
- import exception
- exception.Abort("UiSearchSystemElement.LoadWindow")
- self.prev_button.SetEvent(self.__OnClickArrow, 'MOSTBOUGHT_RIGHT')
- self.last_prev_button.SetEvent(self.__OnClickArrow, 'MOSTBOUGHT_RIGHT_LAST')
- self.next_button.SetEvent(self.__OnClickArrow, 'MOSTBOUGHT_LEFT')
- self.last_next_button.SetEvent(self.__OnClickArrow, 'MOSTBOUGHT_LEFT_LAST')
- self.search.SetEvent(self.__OnSearch)
- self.acept_button.SetEvent(self.__AceptButton)
- self.Box = UiSearchSystemBox()
- self.Box.Open(self.board,137,62)
- self.Box.Hide()
- self.prev_button.Hide()
- self.last_prev_button.Hide()
- self.next_button.Hide()
- self.last_next_button.Hide()
- def Destroy(self):
- self.ClearDictionary()
- self.items = []
- self.lst2=[]
- def Information(self,names):
- self.items.append(names)
- def Page(self):
- self.Box.Hide()
- self.Box.ClearList()
- for key in self.items:
- if key not in self.lst2:
- self.lst2.append(key)
- for a in xrange(min(self.MaxPage, len(self.lst2) - self.curPage * self.MaxPage +self.MaxPage)):
- curId = self.lst2[a + (self.curPage - 1)*self.MaxPage]
- curGold = self.item_gold.GetText()
- curCount = self.Count(curId, self.items)
- self.Box.SetContent(curId,a,curCount,curGold)
- self.Box.Show()
- if self.curPage *self.MaxPage >= len(self.lst2):
- self.next_button.Hide()
- self.last_next_button.Hide()
- else:
- self.next_button.Show()
- self.last_next_button.Show()
- if self.curPage > 1:
- self.prev_button.Show()
- self.last_prev_button.Show()
- else:
- self.prev_button.Hide()
- self.last_prev_button.Hide()
- def __OnClickArrow(self, arrow):
- Left_Last = self.WFunction(float(len(self.lst2))/float(self.MaxPage))
- if arrow == 'MOSTBOUGHT_LEFT':
- self.curPage += 1
- self.Page()
- elif arrow == 'MOSTBOUGHT_LEFT_LAST':
- self.curPage = Left_Last
- self.Page()
- elif arrow == 'MOSTBOUGHT_RIGHT':
- self.curPage -= 1
- self.Page()
- elif arrow == 'MOSTBOUGHT_RIGHT_LAST':
- self.curPage = 1
- self.Page()
- def WFunction(self, num):
- if (num + 1) != int(num+1):
- return int(num+1)
- else:
- return int(num)
- def Count(self, elemento, lista):
- veces = 0
- for i in lista:
- if elemento == i:
- veces += 1
- return veces
- def __OnSearch(self):
- self.items = []
- self.lst2=[]
- item_name = self.item_name.GetText()
- item_gold = self.item_gold.GetText()
- if item_gold == "":
- chat.AppendChat(1, "[Cautator Magazine] Campul pretului este gol!")
- return
- self.curPage = 1
- net.SendPrivateSearch(str(item_name),int(item_gold))
- def __AceptButton(self):
- self.Box.ClickEvent()
- def Close(self):
- wndMgr.Hide(self.hWnd)
- class UiSearchSystemBox(ui.ScriptWindow):
- def __init__(self):
- ui.ScriptWindow.__init__(self)
- self.isLoaded = FALSE
- self.toolTipItems = {}
- for i in xrange(0,T_W):
- self.toolTipItems[i] = uiToolTip.ItemToolTip()
- self.vnum = 0
- self.index = 0
- self.gold = 0
- self.item_bg = {}
- self.item_name = {}
- self.item_count = {}
- self.list_items = []
- self.index_select = None
- self.index_over = 0
- def __del__(self):
- ui.ScriptWindow.__del__(self)
- def LoadWindow(self):
- try:
- pyScrLoader = ui.PythonScriptLoader()
- pyScrLoader.LoadScriptFile(self, "d:/ymir work/privateshopsearchdialogitems.py")
- except:
- import exception
- exception.Abort("UiSearchSystemElement.LoadWindow")
- try:
- for i in xrange(0,T_W):
- self.item_bg[i] = self.GetChild("PrivateSearchBoxItemsBG%s"%i)
- self.item_name[i] = self.GetChild("PrivateSearchBoxItemsName%s"%i)
- self.item_count[i] = self.GetChild("PrivateSearchBoxItemsCount%s"%i)
- self.item_bg[i].SetEvent(self.SelectItem,i)
- self.item_bg[i].Hide()
- except:
- import exception
- exception.Abort("UiSearchSystemElement.LoadWindow")
- self.isLoaded = TRUE
- def Open(self, parent, x, y):
- if FALSE == self.isLoaded:
- self.LoadWindow()
- self.SetParent(parent)
- self.SetPosition(x,y)
- self.Show()
- def SetContent(self, vnum, index, count, gold):
- self.vnum = int(vnum)
- self.index = index
- self.gold = int(gold)
- item.SelectItem(int(vnum))
- self.item_name[index].SetText(item.GetItemName())
- self.item_count[index].SetText(str(count))
- self.item_bg[index].Show()
- self.list_items.append(vnum)
- def SelectItem(self,index):
- for i in xrange(0,T_W):
- self.item_bg[i].SetUp()
- self.item_bg[index].Down()
- self.index_select = index
- def ClickEvent(self):
- if self.index_select == None:
- chat.AppendChat(1,"[Cautator Magazine] Selectati o optiune.")
- return
- net.SendChatPacket("/search_shop %s %d" % (self.list_items[self.index_select],self.gold))
- def ClearList(self):
- for i in xrange(0,T_W):
- self.item_bg[i].Hide()
- self.item_bg[i].SetUp()
- self.list_items = []
- def ShowItemTool(self,index):
- self.toolTipItems[index].ClearToolTip()
- self.toolTipItems[index].AddItemData(int(self.list_items[self.index_over]),0,0,0,0,1)
- def HideItemTool(self,index):
- self.toolTipItems[index].Hide()
- def OnUpdate(self):
- for i in xrange(0,T_W):
- if self.item_bg[i].IsIn():
- self.index_over = i
- self.ShowItemTool(i)
- else:
- self.HideItemTool(i)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement