Ejemplo n.º 1
0
class Controller(object):

    def __init__(self):
        self.__aData = DataAggregator()
        self.__carousel = None
        self.__header = None
        self.__cart = None
        self.__hangarCameraLocation = None
        return

    def init(self):
        self.__aData.init()
        self.__carousel = Carousel(self.__aData)
        self.__hangarCameraLocation = g_hangarSpace.space.getCameraLocation()
        g_hangarSpace.space.locateCameraToPreview()
        g_hangarSpace.onSpaceCreate += self.__onHangarSpaceCreate

    def fini(self):
        self.__carousel.fini()
        self.__aData.fini()
        self.__carousel = None
        self.__header = None
        g_hangarSpace.onSpaceCreate -= self.__onHangarSpaceCreate
        return

    def updateTank3DModel(self, isReset = False):
        viewModel = self.__aData.initialViewModel if isReset else self.__aData.viewModel
        camouflageIDToSet, newViewData = viewModel[0], viewModel[1:3]
        if g_hangarSpace.space is not None:
            hangarSpace = g_hangarSpace.space
            hangarSpace.updateVehicleCamouflage(camouflageID=camouflageIDToSet)
            hangarSpace.updateVehicleSticker(newViewData)
            if self.__hangarCameraLocation is not None and isReset:
                hangarSpace.setCameraLocation(**self.__hangarCameraLocation)
            else:
                hangarSpace.locateCameraToPreview()
            hangarSpace.clearSelectedEmblemInfo()
        return

    @property
    def carousel(self):
        return self.__carousel

    @property
    def dataAggregator(self):
        return self.__aData

    def __onHangarSpaceCreate(self):
        if g_hangarSpace.space is not None:
            self.__hangarCameraLocation = g_hangarSpace.space.getCameraLocation()
        return
Ejemplo n.º 2
0
class Controller(object):
    def __init__(self):
        self.__aData = DataAggregator()
        self.__carousel = None
        self.__header = None
        self.__cart = None
        self.__hangarCameraLocation = None
        return

    def init(self):
        self.__aData.init()
        self.__carousel = Carousel(self.__aData)
        self.__hangarCameraLocation = g_hangarSpace.space.getCameraLocation()
        g_hangarSpace.space.locateCameraToPreview()
        g_hangarSpace.onSpaceCreate += self.__onHangarSpaceCreate

    def fini(self):
        self.__carousel.fini()
        self.__aData.fini()
        self.__carousel = None
        self.__header = None
        g_hangarSpace.onSpaceCreate -= self.__onHangarSpaceCreate
        return

    def updateTank3DModel(self, isReset=False):
        viewModel = self.__aData.initialViewModel if isReset else self.__aData.viewModel
        camouflageIDToSet, newViewData = viewModel[0], viewModel[1:3]
        if g_hangarSpace.space is not None:
            hangarSpace = g_hangarSpace.space
            hangarSpace.updateVehicleCamouflage(camouflageID=camouflageIDToSet)
            hangarSpace.updateVehicleSticker(newViewData)
            if self.__hangarCameraLocation is not None and isReset:
                hangarSpace.setCameraLocation(**self.__hangarCameraLocation)
            else:
                hangarSpace.locateCameraToPreview()
            hangarSpace.clearSelectedEmblemInfo()
        return

    @property
    def carousel(self):
        return self.__carousel

    @property
    def dataAggregator(self):
        return self.__aData

    def __onHangarSpaceCreate(self):
        if g_hangarSpace.space is not None:
            self.__hangarCameraLocation = g_hangarSpace.space.getCameraLocation(
            )
        return
Ejemplo n.º 3
0
class Controller(object):

    def __init__(self):
        self.__aData = None
        self.__carousel = None
        self.__header = None
        self.__cart = None
        self.__hangarCameraLocation = None
        return

    def init(self):
        self.__aData = DataAggregator()
        self.__carousel = Carousel(self.__aData)
        self.__hangarCameraLocation = g_hangarSpace.space.getCameraLocation()
        g_hangarSpace.space.locateCameraToPreview()

    def fini(self):
        self.__carousel.fini()
        self.__aData.fini()
        self.__aData = None
        self.__carousel = None
        self.__header = None
        return

    def updateTank3DModel(self, isReset = False):
        if isReset:
            newViewData = self.__aData.initialViewModel
        else:
            newViewData = self.__aData.viewModel[1:3]
        if g_hangarSpace.space is not None:
            hangarSpace = g_hangarSpace.space
            hangarSpace.updateVehicleCamouflage(camouflageID=self.__aData.installed[CUSTOMIZATION_TYPE.CAMOUFLAGE][0].getID())
            hangarSpace.updateVehicleSticker(newViewData)
            if self.__hangarCameraLocation is not None and isReset:
                hangarSpace.setCameraLocation(**self.__hangarCameraLocation)
            else:
                hangarSpace.locateCameraToPreview()
            hangarSpace.clearSelectedEmblemInfo()
        return

    @property
    def carousel(self):
        return self.__carousel
from carousel import Carousel, Attraction
# a carousel has a type and a capacity
c1 = Carousel("DE501", 3)
assert(str(c1) == "DE501 house 3: []")
# children can be added
assert(c1.add_child("Ostap") == True)
assert(c1.add_child("Orislava") == True)
assert(c1.add_child("Olga") == True)
# can't add children past the max capacity
assert(c1.add_child("Orest") == False)
assert(str(c1) == "DE501 house 3: ['Ostap', 'Orislava', 'Olga']")
# can remove the most recent child
assert(c1.remove_child() == True)
assert(str(c1) == "DE501 house 3: ['Ostap', 'Orislava']")
# mom can call her baby
assert(c1.remove_child(mom_call = 'Ostap') == 'Ostap')
assert(c1.remove_child(mom_call = 'Os') == False)
assert(str(c1) == "DE501 house 3: ['Orislava']")
assert(c1.add_child("Oksana") == True) # that frees up space!
c2 = Carousel("DE505", 4)
# can't remove a child from an empty carousel
assert(c2.remove_child() == False)
assert(c2 == Carousel("DE505", 4))
assert(c2 != c1)
assert(c2 != "DE505") # should not crash!
# an Attraction is a Carousel with a name and a capacity
# an Attraction has a supervisor of the attraction
a1 = Attraction("Children Train", 10, 'Den')
assert(str(a1) == "Children Train house 10: ['Den']")
assert(a1.add_child("Denny") == True)
assert(str(a1) == "Children Train house 10: ['Den', 'Denny']")
Ejemplo n.º 5
0
 def init(self):
     self.__aData.init()
     self.__carousel = Carousel(self.__aData)
     self.__hangarCameraLocation = g_hangarSpace.space.getCameraLocation()
     g_hangarSpace.space.locateCameraToPreview()
     g_hangarSpace.onSpaceCreate += self.__onHangarSpaceCreate
Ejemplo n.º 6
0
 def init(self):
     self.__aData = DataAggregator()
     self.__carousel = Carousel(self.__aData)
Ejemplo n.º 7
0
 def init(self):
     self.__aData = DataAggregator()
     self.__carousel = Carousel(self.__aData)
     self.__hangarCameraLocation = g_hangarSpace.space.getCameraLocation()
     g_hangarSpace.space.locateCameraToPreview()
Ejemplo n.º 8
0
 def init(self):
     self.__aData.init()
     self.__carousel = Carousel(self.__aData)
     self.__hangarCameraLocation = g_hangarSpace.space.getCameraLocation()
     g_hangarSpace.space.locateCameraToPreview()
     g_hangarSpace.onSpaceCreate += self.__onHangarSpaceCreate