Advertisement
deadx2

Untitled

Aug 13th, 2017
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 4.81 KB | None | 0 0
  1. class AchievementBox(uimg.ScriptWindow):
  2.    
  3.     def __init__(self):
  4.         uimg.ScriptWindow.__init__(self)
  5.         self.data = [0,0]
  6.         self.isLoaded = False
  7.        
  8.     def LoadWindow(self):
  9.         try:
  10.             pyScrLoader = uimg.PythonScriptLoader()
  11.             pyScrLoader.LoadScriptFile(self, "UIScript/achievement_box.py")
  12.         except:
  13.             import exception
  14.             exception.Abort("AchievementBox.LoadWindow.LoadObject")
  15.            
  16.         try:
  17.             self.board = self.GetChild("board")
  18.             self.achievementTitle = self.GetChild("AchievementTitle")
  19.             self.achievementTitle.Hide()
  20.             self.achievementPoints = self.GetChild("AchievementPoints")
  21.            
  22.             self.achievementProgess = AchievementProgressBar()
  23.             self.achievementProgess.SetParent(self)
  24.             self.achievementProgess.SetSize(543, 21)
  25.             self.achievementProgess.SetPosition(1, 1)
  26.             self.achievementProgess.SetProgress(15, 50)
  27.             self.achievementProgess.Show()
  28.         except:
  29.             import exception
  30.             exception.Abort("AchievementBox.LoadWindow.LoadObject")
  31.  
  32.         self.isLoaded = True
  33.        
  34.     def SetContent(self, category, curValue, maxValue, points, mobVnum = 0):
  35.         self.data = [curValue, maxValue]
  36.         self.achievementProgess.SetProgress(curValue, maxValue)
  37.         if points == 0:
  38.             self.achievementPoints.Hide()
  39.         else:
  40.             self.achievementPoints.SetText('|cffa07970%d' % points)
  41.             self.achievementPoints.Show()
  42.         if category == 0:
  43.             return
  44.         if category == 2 or category == 3 or category == 4:
  45.             self.achievementProgess.SetText(self.GetDescByCat(category) % (maxValue, nonplayer.GetMonsterName(mobVnum)))
  46.         else:  
  47.             self.achievementProgess.SetText(self.GetDescByCat(category) % maxValue)
  48.            
  49.     def SetTitle(self, title):
  50.         self.achievementTitle.SetText(title)
  51.         self.achievementTitle.Show()
  52.         self.achievementProgess.SetSize(250, 27)
  53.         self.achievementProgess.SetPosition(115, 11+3)
  54.         self.achievementProgess.SetProgress(self.data[0], self.data[1])
  55.         self.achievementProgess.SetProgressPosition(125/4)
  56.         self.board.SetSize(380, 56)
  57.         self.SetSize(380, 56)
  58.        
  59.     def GetDescByCat(self, category):
  60.         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]
  61.        
  62.     def __del__(self):
  63.         uimg.ScriptWindow.__del__(self)
  64.        
  65.     def Open(self, parent, x, y):
  66.         if not self.isLoaded:
  67.             self.LoadWindow()
  68.            
  69.         self.SetParent(parent)
  70.         self.SetPosition(x, y)
  71.         self.SetWindowHorizontalAlignCenter()
  72.         self.Show()
  73.  
  74. class AchievementProgressBar(uimg.Window):
  75.  
  76.     BACKGROUND_COLOR = grp.GenerateColor(0.0, 0.0, 0.0, 1.0)
  77.     DARK_COLOR = grp.GenerateColor(0.4, 0.4, 0.4, 1.0)
  78.    
  79.     PROGRESS_COLOR = grp.GenerateColor(1.0, 0.0, 0.0, 0.2)
  80.     FINISHED_COLOR = grp.GenerateColor(0.0, 1.0, 0.0, 0.2)
  81.    
  82.     def __init__(self, layer = "UI"):
  83.         uimg.Window.__init__(self, layer)
  84.  
  85.         self.width = 0
  86.         self.height = 0    
  87.         self.progress = 0
  88.         self.isFinished = False
  89.        
  90.         self.textLine = None
  91.         self.textLineExtra = None
  92.        
  93.     def __del__(self):
  94.         uimg.Window.__del__(self)
  95.  
  96.     def SetSize(self, width, height):
  97.         uimg.Window.SetSize(self, width, height)
  98.         self.width = width
  99.         self.height = height
  100.  
  101.     def SetProgress(self, current, max):
  102.         try:
  103.             self.progress = min(math.ceil((float(current)/float(max))*100.00), 100)
  104.         except:
  105.             self.progress = 0
  106.         if self.progress == 100:
  107.             self.isFinished = True
  108.         else:
  109.             self.isFinished = False
  110.        
  111.         if not self.textLine:      
  112.             textLine = uimg.TextLine()
  113.             textLine.SetParent(self)
  114.             textLine.SetOutline()
  115.             textLine.Show()
  116.             self.textLine = textLine
  117.        
  118.         if current > max:
  119.             self.textLine.SetText('|cffa07970%d/%d' % (max, max))
  120.         else:
  121.             self.textLine.SetText('|cffa07970%d/%d' % (current, max))
  122.         self.textLine.SetPosition(150, self.GetHeight()/2)
  123.         self.textLine.SetHorizontalAlignCenter()
  124.         self.textLine.SetWindowHorizontalAlignCenter()
  125.         self.textLine.SetVerticalAlignCenter()
  126.        
  127.     def SetText(self, text):
  128.         if not self.textLineExtra:     
  129.             textLineExtra = uimg.TextLine()
  130.             textLineExtra.SetParent(self)
  131.             textLineExtra.SetPosition(12, self.GetHeight()/2)
  132.             textLineExtra.SetVerticalAlignCenter()
  133.             textLineExtra.SetOutline()
  134.             textLineExtra.Show()
  135.             self.textLineExtra = textLineExtra
  136.        
  137.         self.textLineExtra.SetText('|cffa08784%s' % text)
  138.        
  139.     def SetProgressPosition(self, x):
  140.         self.textLine.SetPosition(x, self.GetHeight()/2)
  141.  
  142.     def OnRender(self):
  143.         xRender, yRender = self.GetGlobalPosition()
  144.        
  145.         widthRender = self.width
  146.         heightRender = self.height
  147.         grp.SetColor(self.BACKGROUND_COLOR)
  148.         grp.RenderBar(xRender, yRender, widthRender, heightRender)
  149.         grp.SetColor(self.DARK_COLOR)
  150.         grp.RenderLine(xRender, yRender, widthRender, 0)
  151.         grp.RenderLine(xRender, yRender, 0, heightRender)
  152.         grp.RenderLine(xRender, yRender+heightRender, widthRender+1, 0)
  153.         grp.RenderLine(xRender+widthRender, yRender, 0, heightRender)
  154.  
  155.         if self.isFinished:
  156.             grp.SetColor(self.FINISHED_COLOR)
  157.         else:
  158.             grp.SetColor(self.PROGRESS_COLOR)
  159.         grp.RenderBar(xRender + 2, yRender + 2, (self.width - 3) * self.progress / 100, heightRender - 3)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement