예제 #1
0
    def unSuspendView(self):
        
        if self.__serviceContainer:
            for serviceName in self.__serviceContainer:
                ServiceLocator.registerGlobalService(serviceName, self.__serviceContainer[serviceName])

        pass
예제 #2
0
 def configure(self):
     ServiceLocator.registerGlobalService(ServiceNames.Screen, self.screen)
     ServiceLocator.registerGlobalService(ServiceNames.PyGame, pygame)
     ServiceLocator.registerGlobalService(ServiceNames.ViewController, self.viewController)
     ServiceLocator.registerGlobalService(ServiceNames.Gamestate, self.gameState)
     ServiceLocator.registerGlobalService(ServiceNames.BeamPoints, BeamPointRegistry())
     pass
예제 #3
0
    def changeView(self, viewName):
        """Changes the view by name."""
        if viewName in self.viewList:
            if self._currentView:
                if self._currentView.viewName != viewName:
                    self._currentView.suspendView()

            self.viewList[viewName].unSuspendView()
            self._currentView = self.viewList[viewName]
            ServiceLocator.registerGlobalService(ServiceNames.CurrentView, self._currentView)
            
            return self._currentView
        else:
            try:
                if self._currentView:
                    self._currentView.suspendView()

                newView = self.viewFactory(viewName)
            except Exception as e:
                newView = None
                logging.error(e)
                raise

            if newView:
                self._currentView = newView
                ServiceLocator.registerGlobalService(ServiceNames.CurrentView, self._currentView)
                self.viewList[viewName] = newView
                newView.initializeView()

        return newView
예제 #4
0
 def __init__(self, parent=None):
     super(CuteMpdMainWindow, self).__init__(parent)
     self.setupUi(self)
     self.mpdViewModel = MpdViewModel(self)
     ServiceLocator.registerGlobalService(ServiceNames.MpdViewModel, self.mpdViewModel)
     self.connectUI()
     self._currentIndex = None
     pass
예제 #5
0
 def registerSavePoint(self):
     """Saves the current position and camera position."""
     savePoint = SavePoint()
     savePoint.viewName = self.viewName
     savePoint.screenPosition = self._viewPointer.screenPosition.copy()
     savePoint.playerPosition =  ViewPoint(self._viewPointer.playerPositionX, self._viewPointer.playerPositionY)
     ServiceLocator.registerGlobalService(ServiceNames.LastSavePoint, savePoint)
     pass
예제 #6
0
 def __init__(self, parent=None):
     super(CuteMpdMainWindow, self).__init__(parent)
     self.setupUi(self)
     self.mpdViewModel = MpdViewModel(self)
     ServiceLocator.registerGlobalService(ServiceNames.MpdViewModel,
                                          self.mpdViewModel)
     self.connectUI()
     self._currentIndex = None
     pass
예제 #7
0
    def __init__(self, parent=None):
        super(MainWindow, self).__init__(parent)
        self.setupUi(self)
        self.currentSong = None
        self.currentPlaylist = None
        self._volume = 0

        self.config = ServiceLocator.getGlobalServiceInstance(ServiceNames.Configuration)
        self.mpdViewModel = MpdViewModel(self)
        ServiceLocator.registerGlobalService(ServiceNames.MpdViewModel, self.mpdViewModel)
        self.mpdViewModel.connectPlayListChanged(self, self.songListChanged)
        self.mpdViewModel.connectSongChanged(self, self.songChanged)
        self.mpdViewModel.connectMixerChanged(self, self.mixerHasChanged)
        self.mpdViewModel.connectObserver()
        self.connectUI()
예제 #8
0
    def __init__(self, parent=None):
        super(MainWindow, self).__init__(parent)
        self.setupUi(self)
        self.currentSong = None
        self.currentPlaylist = None
        self._volume = 0

        self.config = ServiceLocator.getGlobalServiceInstance(
            ServiceNames.Configuration)
        self.mpdViewModel = MpdViewModel(self)
        ServiceLocator.registerGlobalService(ServiceNames.MpdViewModel,
                                             self.mpdViewModel)
        self.mpdViewModel.connectPlayListChanged(self, self.songListChanged)
        self.mpdViewModel.connectSongChanged(self, self.songChanged)
        self.mpdViewModel.connectMixerChanged(self, self.mixerHasChanged)
        self.mpdViewModel.connectObserver()
        self.connectUI()
예제 #9
0
 def __init__(self, viewName):
     """Constructor of the ViewModel base class."""
     self._viewName = viewName
     self._screen = ServiceLocator.getGlobalServiceInstance(ServiceNames.Screen)
     self.__map = None
     self.__mapObjects = []
     self._beamPointRegistry = {}
     self.__drawBackground = None
     self.__drawTilesCall = None
     self.__playerSprite = None
     self.__serviceContainer = None
     self._musicPlayer = None
     self._soundPlayer = None
     self.__plugins = []
     self.__objectSprites = pygame.sprite.Group()
     self.__allSprites = pygame.sprite.Group()
     self.__keyboardEventHandler = self.__initKeyboardManager()
     self.__joystickEventHandler = self.__initJoystickManager()
     self._state = ServiceLocator.getGlobalServiceInstance(ServiceNames.Gamestate)
     self.__eventHandlers = [] # Event handlers for plugins
     self._viewPointer = ViewPointer()
     self._gamePaused = False
     self._lifeLostMessageCallback = None
     ServiceLocator.registerGlobalService(ServiceNames.ViewPointer, self._viewPointer)
예제 #10
0
 def initializeObject(self, parent):
     ServiceLocator.registerGlobalService(ServiceNames.GameLostTarget, self._targetViewName)
     return super().initializeObject(parent)
예제 #11
0
#!/usr/bin/python3
import sys
from PyQt4 import QtGui, QtCore
import resources_rc
from Views.CuteMpdMainWindow import CuteMpdMainWindow
from Utils.ServiceLocator import ServiceLocator, ServiceNames
from Utils.Configuration import Configuration
from Views.MainWindow import MainWindow


if __name__ == "__main__":
    ServiceLocator.registerGlobalService(ServiceNames.Configuration, Configuration())
    app = QtGui.QApplication(sys.argv)

    file = QtCore.QFile(':/styles/stylesheet')
    if file.open(QtCore.QFile.ReadOnly):
        styleSheet = str(file.readAll(), 'utf-8')
        app.setStyleSheet(styleSheet)
        file.close()
    
    gui = MainWindow()
    if sys.platform == 'win32':
        gui.show()
    else:
        gui.showFullScreen()
    sys.exit(app.exec_())
예제 #12
0
 def player(self, value):
     self.__playerSprite = value
     ServiceLocator.registerGlobalService(ServiceNames.Player, self.__playerSprite)
예제 #13
0
 def map(self, value):
     self.__map = value
     ServiceLocator.registerGlobalService(ServiceNames.Map, self.__map)
예제 #14
0
#!/usr/bin/python3
import sys
from PyQt4 import QtGui, QtCore
import resources_rc
from Views.CuteMpdMainWindow import CuteMpdMainWindow
from Utils.ServiceLocator import ServiceLocator, ServiceNames
from Utils.Configuration import Configuration
from Views.MainWindow import MainWindow

if __name__ == "__main__":
    ServiceLocator.registerGlobalService(ServiceNames.Configuration,
                                         Configuration())
    app = QtGui.QApplication(sys.argv)

    file = QtCore.QFile(':/styles/stylesheet')
    if file.open(QtCore.QFile.ReadOnly):
        styleSheet = str(file.readAll(), 'utf-8')
        app.setStyleSheet(styleSheet)
        file.close()

    gui = MainWindow()
    if sys.platform == 'win32':
        gui.show()
    else:
        gui.showFullScreen()
    sys.exit(app.exec_())