Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class AchievementBox(uimg.ScriptWindow):
- def __init__(self):
- uimg.ScriptWindow.__init__(self)
- self.data = [0,0]
- self.isLoaded = False
- def LoadWindow(self):
- try:
- pyScrLoader = uimg.PythonScriptLoader()
- pyScrLoader.LoadScriptFile(self, "UIScript/achievement_box.py")
- except:
- import exception
- exception.Abort("AchievementBox.LoadWindow.LoadObject")
- try:
- self.board = self.GetChild("board")
- self.achievementTitle = self.GetChild("AchievementTitle")
- self.achievementTitle.Hide()
- self.achievementPoints = self.GetChild("AchievementPoints")
- self.achievementProgess = AchievementProgressBar()
- self.achievementProgess.SetParent(self)
- self.achievementProgess.SetSize(543, 21)
- self.achievementProgess.SetPosition(1, 1)
- self.achievementProgess.SetProgress(15, 50)
- self.achievementProgess.Show()
- except:
- import exception
- exception.Abort("AchievementBox.LoadWindow.LoadObject")
- self.isLoaded = True
- def SetContent(self, category, curValue, maxValue, points, mobVnum = 0):
- self.data = [curValue, maxValue]
- self.achievementProgess.SetProgress(curValue, maxValue)
- if points == 0:
- self.achievementPoints.Hide()
- else:
- self.achievementPoints.SetText('|cffa07970%d' % points)
- self.achievementPoints.Show()
- if category == 0:
- return
- if category == 2 or category == 3 or category == 4:
- self.achievementProgess.SetText(self.GetDescByCat(category) % (maxValue, nonplayer.GetMonsterName(mobVnum)))
- else:
- self.achievementProgess.SetText(self.GetDescByCat(category) % maxValue)
- def SetTitle(self, title):
- self.achievementTitle.SetText(title)
- self.achievementTitle.Show()
- self.achievementProgess.SetSize(250, 27)
- self.achievementProgess.SetPosition(115, 11+3)
- self.achievementProgess.SetProgress(self.data[0], self.data[1])
- self.achievementProgess.SetProgressPosition(125/4)
- self.board.SetSize(380, 56)
- self.SetSize(380, 56)
- def GetDescByCat(self, category):
- return ("Subir al nivel %d","Matar a %dx %s","Matar a %dx %s","Romper %dx %s","|cffa08784Jugar |cffa07970%d |cffa08784minutos","Matar %dx jugadores")[category-1]
- def __del__(self):
- uimg.ScriptWindow.__del__(self)
- def Open(self, parent, x, y):
- if not self.isLoaded:
- self.LoadWindow()
- self.SetParent(parent)
- self.SetPosition(x, y)
- self.SetWindowHorizontalAlignCenter()
- self.Show()
- class AchievementProgressBar(uimg.Window):
- BACKGROUND_COLOR = grp.GenerateColor(0.0, 0.0, 0.0, 1.0)
- DARK_COLOR = grp.GenerateColor(0.4, 0.4, 0.4, 1.0)
- PROGRESS_COLOR = grp.GenerateColor(1.0, 0.0, 0.0, 0.2)
- FINISHED_COLOR = grp.GenerateColor(0.0, 1.0, 0.0, 0.2)
- def __init__(self, layer = "UI"):
- uimg.Window.__init__(self, layer)
- self.width = 0
- self.height = 0
- self.progress = 0
- self.isFinished = False
- self.textLine = None
- self.textLineExtra = None
- def __del__(self):
- uimg.Window.__del__(self)
- def SetSize(self, width, height):
- uimg.Window.SetSize(self, width, height)
- self.width = width
- self.height = height
- def SetProgress(self, current, max):
- try:
- self.progress = min(math.ceil((float(current)/float(max))*100.00), 100)
- except:
- self.progress = 0
- if self.progress == 100:
- self.isFinished = True
- else:
- self.isFinished = False
- if not self.textLine:
- textLine = uimg.TextLine()
- textLine.SetParent(self)
- textLine.SetOutline()
- textLine.Show()
- self.textLine = textLine
- if current > max:
- self.textLine.SetText('|cffa07970%d/%d' % (max, max))
- else:
- self.textLine.SetText('|cffa07970%d/%d' % (current, max))
- self.textLine.SetPosition(150, self.GetHeight()/2)
- self.textLine.SetHorizontalAlignCenter()
- self.textLine.SetWindowHorizontalAlignCenter()
- self.textLine.SetVerticalAlignCenter()
- def SetText(self, text):
- if not self.textLineExtra:
- textLineExtra = uimg.TextLine()
- textLineExtra.SetParent(self)
- textLineExtra.SetPosition(12, self.GetHeight()/2)
- textLineExtra.SetVerticalAlignCenter()
- textLineExtra.SetOutline()
- textLineExtra.Show()
- self.textLineExtra = textLineExtra
- self.textLineExtra.SetText('|cffa08784%s' % text)
- def SetProgressPosition(self, x):
- self.textLine.SetPosition(x, self.GetHeight()/2)
- def OnRender(self):
- xRender, yRender = self.GetGlobalPosition()
- widthRender = self.width
- heightRender = self.height
- grp.SetColor(self.BACKGROUND_COLOR)
- grp.RenderBar(xRender, yRender, widthRender, heightRender)
- grp.SetColor(self.DARK_COLOR)
- grp.RenderLine(xRender, yRender, widthRender, 0)
- grp.RenderLine(xRender, yRender, 0, heightRender)
- grp.RenderLine(xRender, yRender+heightRender, widthRender+1, 0)
- grp.RenderLine(xRender+widthRender, yRender, 0, heightRender)
- if self.isFinished:
- grp.SetColor(self.FINISHED_COLOR)
- else:
- grp.SetColor(self.PROGRESS_COLOR)
- grp.RenderBar(xRender + 2, yRender + 2, (self.width - 3) * self.progress / 100, heightRender - 3)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement