Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import app
- import constInfo
- import uimg
- import uiToolTip
- import item
- import localemg
- import player
- import grp
- import time
- import event
- class TombolaWindow(uimg.BoardWithTitleBar):
- def __init__(self):
- uimg.BoardWithTitleBar.__init__(self)
- self.__BuildWindow()
- def __del__(self):
- uimg.BoardWithTitleBar.__del__(self)
- def __BuildWindow(self):
- self.xOpen = 0
- self.yOpen = 0
- self.speedDown = 5
- self.timeDiff = 0.1
- self.tooltipItem = None
- self.animate = FALSE
- self.blink = FALSE
- self.blinkTimes = 6
- self.blinkLast = 0
- self.position = 1
- self.toPosition = 16
- self.lastClock = 0
- self.SetSize(341+45, 364+45+30)
- self.AddFlag("float")
- self.AddFlag("movable")
- #self.SetFontColorNew(230, 208, 162)
- self.SetTitleName("|cffe6d0a2Tombola")
- self.SetCloseEvent(uimg.__mem_func__(self.OnClose))
- button1 = uimg.RadioButton()
- button1.SetParent(self)
- button1.SetPosition(51, 356+29)
- button1.SetUpVisual("illumina/inne/btn_kod2_long_01.tga")
- button1.SetOverVisual("illumina/inne/btn_kod2_long_02.tga")
- button1.SetDownVisual("illumina/inne/btn_kod2_long_03.tga")
- button1.SetEvent(uimg.__mem_func__(self.OnButtonClickLevel_1))
- button1.SetText("|cffe6d0a2Poziom I")
- button1.Show()
- self.button1 = button1
- button2 = uimg.RadioButton()
- button2.SetParent(self)
- button2.SetPosition(51+100, 356+29)
- button2.SetUpVisual("illumina/inne/btn_kod2_long_01.tga")
- button2.SetOverVisual("illumina/inne/btn_kod2_long_02.tga")
- button2.SetDownVisual("illumina/inne/btn_kod2_long_03.tga")
- button2.SetEvent(uimg.__mem_func__(self.OnButtonClickLevel_2))
- button2.SetText("|cffe6d0a2Poziom II")
- button2.Show()
- self.button2 = button2
- button3 = uimg.RadioButton()
- button3.SetParent(self)
- button3.SetPosition(51+200, 356+29)
- button3.SetUpVisual("illumina/inne/btn_kod2_long_01.tga")
- button3.SetOverVisual("illumina/inne/btn_kod2_long_02.tga")
- button3.SetDownVisual("illumina/inne/btn_kod2_long_03.tga")
- button3.SetEvent(uimg.__mem_func__(self.OnButtonClickLevel_3))
- button3.SetText("|cffe6d0a2Poziom III")
- button3.Show()
- self.button3 = button3
- image = uimg.ImageBox()
- image.SetParent(self)
- image.LoadImage("illumina/inne/tombola_new.tga")
- image.SetPosition(6+8, 29+9)
- image.Hide()
- self.background = image
- select = uimg.ImageBox()
- select.SetParent(self.background)
- select.SetPosition(14, 13)
- select.LoadImage("d:/ymir work/ui/tombola/1.tga")
- select.Hide()
- self.select = select
- button = uimg.Button()
- button.SetParent(self.background)
- button.SetPosition(125+8+6, 124+9+5)
- button.SetUpVisual("illumina/inne/tombola_btn1.tga")
- button.SetOverVisual("illumina/inne/tombola_btn2.tga")
- button.SetDownVisual("illumina/inne/tombola_btn3.tga")
- button.SetEvent(uimg.__mem_func__(self.OnButtonClick))
- button.Hide()
- #self.run = button
- self.button = button
- self.slots = [
- self.__CreateSlot(1, 161 - 5+8+6+7, 53 - 4+9+5+7+4),
- self.__CreateSlot(2, 207 - 5+8+6+7, 63 - 4+9+5+7+4),
- self.__CreateSlot(3, 248 - 5+8+6+7, 93 - 4+9+5+7+4),
- self.__CreateSlot(4, 277 - 5+8+6+7, 135 - 4+9+5+7+4),
- self.__CreateSlot(5, 290 - 5+8+6+7, 182 - 4+9+5+7+4),
- self.__CreateSlot(6, 277 - 5+8+6+7, 228 - 4+9+5+7+4),
- self.__CreateSlot(7, 248 - 5+8+6+7, 271 - 4+9+5+7+4),
- self.__CreateSlot(8, 207 - 5+8+6+7, 298 - 4+9+5+7+4),
- self.__CreateSlot(9, 160 - 5+8+6+7, 307 - 4+9+5+7+4),
- self.__CreateSlot(10, 114 - 5+8+6+7, 296 - 4+9+5+7+4),
- self.__CreateSlot(11, 72 - 5+8+6+7, 269 - 4+9+5+7+4),
- self.__CreateSlot(12, 44 - 5+8+6+7, 229 - 4+9+5+7+4),
- self.__CreateSlot(13, 30 - 5+8+6+7, 183 - 4+9+5+7+4),
- self.__CreateSlot(14, 41 - 5+8+6+7, 133 - 4+9+5+7+4),
- self.__CreateSlot(15, 70 - 5+8+6+7, 92 - 4+9+5+7+4),
- self.__CreateSlot(16, 112 - 5+8+6+7, 63 - 4+9+5+7+4)
- ]
- self.items = {}
- def __CreateSlot(self, number, x, y):
- grid = uimg.GridSlotWindow()
- grid.SetParent(self)
- grid.SetPosition(x, y)
- grid.ArrangeSlot(number, 1, 1, 32, 32, 0, 0)
- grid.SetOverInItemEvent(uimg.__mem_func__(self.OverInItem))
- grid.SetOverOutItemEvent(uimg.__mem_func__(self.OverOutItem))
- grid.RefreshSlot()
- grid.Hide()
- self.grid = grid
- return grid
- def OverInItem(self, slotIndex):
- if slotIndex < 1 or slotIndex > 16:
- return
- self.tooltipItem = uiToolTip.ItemToolTip()
- self.tooltipItem.AddItemData(self.items[slotIndex - 1], 0, 0)
- self.tooltipItem.Show()
- def OverOutItem(self):
- if self.tooltipItem:
- self.tooltipItem.HideToolTip()
- def OnButtonClick(self):
- constInfo.CMDRESOLVER_MSG = "tombola|begin"
- event.QuestButtonClick(int(constInfo.CMDRESOLVER_QUID))
- def OnButtonClickLevel_1(self):
- self.background.Show()
- self.button.Show()
- self.grid.Show()
- def OnButtonClickLevel_2(self):
- self.background.Hide()
- self.button.Hide()
- self.grid.Hide()
- def OnButtonClickLevel_3(self):
- self.background.Show()
- self.button.Show()
- self.grid.Show()
- def OnPrepare(self, items):
- items = items.split("|")
- j = 0
- for i in range(0, 32, 2):
- self.slots[j].SetItemSlot(j + 1, int(items[i]), int(items[i + 1]))
- self.items[j] = int(items[i])
- j += 1
- def OnRun(self, data):
- data = data.split("|")
- self.toPosition = int(data[0])
- self.speedDown = int(data[1])
- self.blinkTimes = 6
- self.blinkLast = 0
- self.position = 1
- self.animate = TRUE
- self.blink = FALSE
- self.timeDiff = 0.1
- self.lastClock = app.GetTime()
- def OnUpdate(self):
- if self.animate == TRUE:
- if (app.GetTime() - self.lastClock) >= self.timeDiff:
- self.lastClock = app.GetTime()
- self.toPosition -= 1
- if self.toPosition <= self.speedDown:
- self.timeDiff += 0.1
- self.position += 1
- if self.position == 17:
- self.position = 1
- if not self.select.IsShow():
- self.select.Show()
- self.select.LoadImage("d:/ymir work/ui/tombola/" + str(self.position) + ".tga")
- if self.toPosition == 0:
- self.animate = FALSE
- self.blink = TRUE
- constInfo.CMDRESOLVER_MSG = "tombola|end"
- event.QuestButtonClick(int(constInfo.CMDRESOLVER_QUID2))
- if self.blink == TRUE and (app.GetTime() - self.blinkLast) >= 0.3:
- if self.blinkTimes > 0:
- if self.blinkTimes % 2:
- self.select.Hide()
- else:
- self.select.Show()
- self.blinkTimes -= 1
- else:
- self.blink = FALSE
- self.blinkTimes = 6
- self.blinkLast = 0
- self.select.Hide()
- self.select.LoadImage("d:/ymir work/ui/tombola/1.tga")
- self.blinkLast = app.GetTime()
- (x, y, z) = player.GetMainCharacterPosition()
- if abs(x - self.xOpen) > 1000 or abs(y - self.yOpen) > 1000:
- self.Close()
- def Open(self):
- if not self.IsShow():
- self.Show()
- (self.xOpen, self.yOpen, z) = player.GetMainCharacterPosition()
- event.QuestButtonClick(int(constInfo.TOMBOLA_INFO))
- else:
- self.Close()
- def Close(self):
- if self.IsShow():
- self.Hide()
- def OnClose(self):
- self.Close()
- def OnPressEscapeKey(self):
- self.Close()
- return TRUE
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement