From 350152037472f5bc7bac65eec03652e08613dac3 Mon Sep 17 00:00:00 2001 From: stefan <stefan@5a81b35b-ba03-0410-adc8-b2c5c5119f08> Date: Fri, 16 Apr 2010 16:04:58 +0000 Subject: [PATCH] dokk (the docking game): - Added Level Infos for (glyoxalase and thrombin) git-svn-id: https://dng.biozentrum.unibas.ch/svn/openstructure/trunk@2031 5a81b35b-ba03-0410-adc8-b2c5c5119f08 --- examples/dokk/datafiles/glyoxalase/level.ini | 5 ++++ examples/dokk/datafiles/thrombin/level.ini | 4 +++ examples/dokk/level_info.py | 31 ++++++++++++++++++++ 3 files changed, 40 insertions(+) diff --git a/examples/dokk/datafiles/glyoxalase/level.ini b/examples/dokk/datafiles/glyoxalase/level.ini index 929f2cd04..144782673 100644 --- a/examples/dokk/datafiles/glyoxalase/level.ini +++ b/examples/dokk/datafiles/glyoxalase/level.ini @@ -109,6 +109,11 @@ TEXT_COUNT: 1 TEXT1: Herzliche Gratulation, Sie haben alle Levels erfolgreich absolviert! + +[Info] +TEXT: Gluthatione ist ein Abfallprodukt des Stoffwechels. + Docken Sie das Molek�l ins Protein um es abzubauen. + [Box] XMIN:-30 XMAX:70 diff --git a/examples/dokk/datafiles/thrombin/level.ini b/examples/dokk/datafiles/thrombin/level.ini index 64c822851..f02a5db9b 100644 --- a/examples/dokk/datafiles/thrombin/level.ini +++ b/examples/dokk/datafiles/thrombin/level.ini @@ -90,6 +90,10 @@ TEXTCOLORGREEN1: 255 TEXTCOLORBLUE1: 64 TEXTSIZE1: 40 +[Info] +TEXT: Docke den Liganden ins Protein, um + die Gerinnung des Blutes zu stoppen. + [Box] XMIN:-50 XMAX:50 diff --git a/examples/dokk/level_info.py b/examples/dokk/level_info.py index 55e10269f..76c4cf0f6 100644 --- a/examples/dokk/level_info.py +++ b/examples/dokk/level_info.py @@ -15,6 +15,12 @@ class LevelInfo(QtCore.QObject): self.highscore = HighScore(level.topten) else: self.highscore = None + + try: + self.level_descr = LevelDescr(level.config.INFO["TEXT"]) + except: + self.level_descr = None + self.level_info = LevelDetails(level.config.Level["NAME"],level.config.Level["DIFFICULTY"]) self.demo_cam = DemoCam(self) self.connect(level,QtCore.SIGNAL("Started()"),self.Finish) @@ -31,6 +37,8 @@ class LevelInfo(QtCore.QObject): self.start = False if self.highscore: self.highscore.Finish() + if self.level_descr: + self.level_descr.Finish() self.demo_cam.Finish() self.level_info.Finish() @@ -38,6 +46,8 @@ class LevelInfo(QtCore.QObject): if self.start: if self.highscore: self.highscore.Start() + if self.level_descr: + self.level_descr.Start() self.level_info.Start() self.demo_cam.Start() @@ -101,6 +111,27 @@ class LevelDetails(QtCore.QObject): dokk.Dokk().gl_win.RemoveHUDObject(self.hud_bg) dokk.Dokk().gl_win.RemoveHUDObject(self.hud_image) +class LevelDescr(QtCore.QObject): + def __init__(self, descr, parent=None): + QtCore.QObject.__init__(self, parent) + self.descr = descr + + self.hud_descr_text = None + self.hud_bg = None + + def Start(self): + descr_len = len(self.descr) + xpos = dokk.Dokk().gl_win.Width()/2 - (descr_len*30)/2 + rect = QtCore.QRect(QtCore.QPoint(xpos, dokk.Dokk().gl_win.Height()-400), QtCore.QSize(descr_len*30, 105)) + self.hud_bg = RectHUDObject(-1,rect, bg_color=QtGui.QColor(128,128,128,200)) + dokk.Dokk().gl_win.AddHUDObject(self.hud_bg) + self.hud_descr_text = RectTextHUDObject(self.descr, rect=rect, time=-1, font=QtGui.QFont("Verdana",20)) + dokk.Dokk().gl_win.AddHUDObject(self.hud_descr_text) + + def Finish(self): + dokk.Dokk().gl_win.RemoveHUDObject(self.hud_bg) + dokk.Dokk().gl_win.RemoveHUDObject(self.hud_descr_text) + class DemoCam(QtCore.QTimer): def __init__(self, parent=None): QtCore.QTimer.__init__(self) -- GitLab