def __init__(self, cr): try: self.DistributedMinigame_initialized return except: self.DistributedMinigame_initialized = 1 DistributedObject.DistributedObject.__init__(self, cr) Timer.Timer.__init__(self) self.headPanels = HeadPanels() self.finalScoreUI = FinalScoreGUI() self.fsm = ClassicFSM('DistributedMinigame', [ State('start', self.enterStart, self.exitStart, ['waitForOthers']), State('waitForOthers', self.enterWaitForOthers, self.exitWaitForOthers, ['play']), State('play', self.enterPlay, self.exitPlay, ['gameOver']), State('gameOver', self.enterGameOver, self.exitGameOver, ['off']), State('off', self.enterOff, self.exitOff) ], 'off', 'off') self.fsm.enterInitialState() self.cr = cr self.localAv = base.localAvatar self.localAvId = self.localAv.doId self.musicPath = "phase_4/audio/bgm/trolley_song.ogg" self.winSfx = base.loadSfx("phase_4/audio/sfx/MG_win.ogg") self.loseSfx = base.loadSfx("phase_4/audio/sfx/MG_lose.ogg") self.prizeHigh = base.loadSfx("phase_6/audio/sfx/KART_Applause_1.ogg") self.prizeLow = base.loadSfx("phase_6/audio/sfx/KART_Applause_4.ogg") self.music = None self.description = "" self.descDialog = None self.winnerPrize = 0 self.loserPrize = 0 self.round = 0 self.numPlayers = 0 self.winnerMsg = "Winner!\nYou have earned: %s Jellybeans" self.loserMsg = "Loser!\nYou have earned: %s Jellybeans" self.allWinnerMsgs = [ "Nice try!\nYou have earned: %s", "Good job!\nYou have earned: %s", "Way to go!\nYou have earned: %s", "Awesome!\nYou have earned: %s" ] self.timer = None self.timeLbl = None self.alertText = None self.alertPulse = None self.popupSound = None self.gameOverLbl = OnscreenText(text="TIME'S\nUP!", scale=0.25, font=CIGlobals.getMickeyFont(), fg=(1, 0, 0, 1)) self.gameOverLbl.setBin('gui-popup', 60) self.gameOverLbl.hide() return