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
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
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']")
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 init(self): self.__aData = DataAggregator() self.__carousel = Carousel(self.__aData)
def init(self): self.__aData = DataAggregator() self.__carousel = Carousel(self.__aData) self.__hangarCameraLocation = g_hangarSpace.space.getCameraLocation() g_hangarSpace.space.locateCameraToPreview()