forked from ayte/PinmikPanik
39 lines
1.7 KiB
Python
39 lines
1.7 KiB
Python
import gamedata.objects.menu.menu as menu
|
|
import math
|
|
|
|
class OptionMenu(menu.Menu):
|
|
def __init__(self,x,y,game,w=100,h=100):
|
|
super().__init__(x,y,game,w,h) # initialise l'objet de base avec les bons arguments
|
|
# Les dicos des boutons
|
|
def fnRetour(self,game):
|
|
game.lib.savesettings(game.datadir,bgm=game.globals["bgmvolume"],sfx=game.globals["sfxvolume"],filename=game.settingsname)
|
|
game.scene = game.scenes.main
|
|
btnRetour= {"name":"Back","function": fnRetour}
|
|
|
|
# Initialisation de la grille du menu
|
|
self.grid = [
|
|
[btnRetour]
|
|
]
|
|
|
|
self.create(self.grid,self.rect)
|
|
|
|
self.depth = -1
|
|
|
|
# Getting the number of unlocks ( minus 1 because the base skin isn't really an "unlock" )
|
|
unlocks = game.lib.getunlocks(game.globals["highscore"])
|
|
currentunlocks = len(unlocks["normal"]+unlocks["specials"])-1
|
|
unlocks = game.lib.getunlocks(math.inf)
|
|
totalunlocks= len(unlocks["normal"]+unlocks["specials"])-1
|
|
|
|
text = f"Highscore : {self.game.globals['highscore']} Unlocks : {currentunlocks}/{totalunlocks}"
|
|
self.highscore = self.game.fontfile.render(text,False,[255,230,50])
|
|
self.highscoreblack= self.game.fontfile.render(text,False,[0,0,0])
|
|
|
|
def draw(self):
|
|
margin = 2
|
|
for x in range(-margin,margin+1):
|
|
for y in range(-margin,margin+1):
|
|
self.game.lib.drawcenter(self.game,self.highscoreblack,self.game.DISPLAY_WIDTH/2+x,self.game.DISPLAY_HEIGHT*0.85+y)
|
|
self.game.lib.drawcenter(self.game,self.highscore,self.game.DISPLAY_WIDTH/2,self.game.DISPLAY_HEIGHT*0.85)
|
|
self.game.window.blit(self.game.sprite_lib["gui/optionsbg.png"],[0,0])
|