Commit | Line | Data |
---|---|---|
cb700bcc FC |
1 | # from direct.gui.DirectFrame import DirectFrame |
2 | # from ya2.gameobject import GuiColleague, LogicColleague, GameObject, \ | |
3 | # Colleague | |
4 | # from ya2.lib.p3d.pause import P3dPause | |
5 | # LibPause = P3dPause | |
8ee66edd FC |
6 | |
7 | ||
cb700bcc | 8 | # class PauseGui(GuiColleague): |
8ee66edd | 9 | |
cb700bcc FC |
10 | # def __init__(self, mediator): |
11 | # GuiColleague.__init__(self, mediator) | |
12 | # self.pause_frm = None | |
8ee66edd | 13 | |
cb700bcc FC |
14 | # def toggle(self, show_frm=True): |
15 | # if not self.mediator.logic._pause.paused: | |
16 | # #TODO: don't access protected members | |
17 | # if show_frm: | |
18 | # self.pause_frm = DirectFrame(frameColor=(.3, .3, .3, .7), | |
19 | # frameSize=(-1.8, 1.8, -1, 1)) | |
20 | # else: | |
21 | # if self.pause_frm: self.pause_frm.destroy() | |
8ee66edd | 22 | |
cb700bcc FC |
23 | # def destroy(self): |
24 | # if self.pause_frm: self.pause_frm = self.pause_frm.destroy() | |
25 | # GuiColleague.destroy(self) | |
8ee66edd FC |
26 | |
27 | ||
cb700bcc | 28 | # class PauseLogic(LogicColleague): |
8ee66edd | 29 | |
cb700bcc FC |
30 | # def __init__(self, mediator): |
31 | # LogicColleague.__init__(self, mediator) | |
32 | # self._pause = LibPause() | |
8ee66edd | 33 | |
cb700bcc FC |
34 | # def remove_task(self, tsk): |
35 | # self._pause.remove_task(tsk) | |
8ee66edd | 36 | |
cb700bcc FC |
37 | # def pause(self): |
38 | # self.notify('on_pause') | |
39 | # return self._pause.pause() | |
8ee66edd | 40 | |
cb700bcc FC |
41 | # def resume(self): |
42 | # self.notify('on_resume') | |
43 | # return self._pause.resume() | |
8ee66edd | 44 | |
cb700bcc FC |
45 | # def toggle(self, show_frm=True): |
46 | # self.mediator.gui.toggle(show_frm) | |
47 | # (self.resume if self._pause.paused else self.pause)() | |
8ee66edd | 48 | |
cb700bcc FC |
49 | # def destroy(self): |
50 | # self._pause.destroy() | |
51 | # LogicColleague.destroy(self) | |
8ee66edd FC |
52 | |
53 | ||
cb700bcc | 54 | # class PauseFacade: |
8ee66edd | 55 | |
cb700bcc FC |
56 | # @property |
57 | # def paused(self): | |
58 | # return self.logic._pause.paused | |
59 | # #TODO: don't access protected members | |
8ee66edd FC |
60 | |
61 | ||
cb700bcc | 62 | # class PauseMgr(GameObject, Colleague, PauseFacade): |
8ee66edd | 63 | |
cb700bcc FC |
64 | # def __init__(self, mediator): |
65 | # GameObject.__init__(self) | |
66 | # Colleague.__init__(self, mediator) | |
67 | # self.gui = PauseGui(self) | |
68 | # self.logic = PauseLogic(self) | |
8ee66edd | 69 | |
cb700bcc FC |
70 | # def remove_task(self, tsk): |
71 | # return self.logic.remove_task(tsk) | |
8ee66edd | 72 | |
cb700bcc FC |
73 | # def destroy(self): |
74 | # self.gui = self.gui.destroy() | |
75 | # self.logic = self.logic.destroy() | |
76 | # GameObject.destroy(self) | |
77 | # Colleague.destroy(self) |