예제 #1
0
    def enable(self) -> bool:
        if self.enabled:
            Log.error(f"Scene {self} already enabled")
            return False

        self.camera.hud_scenes.append(self)
        return True
예제 #2
0
    def disable(self) -> bool:
        if not self.enabled:
            Log.error(f"Scene {self} already disabled")
            return False

        self.camera.hud_scenes.remove(self)
        return True
예제 #3
0
    def append(self, object):
        if len(self) < self.max_size:
            list.append(self, object)

        elif self.auto_clear:
            self.clear()
            
        else:
            Log.error(f"Cannot add more than {self.max_size} objects to LimitedLenghtObjectArray")
예제 #4
0
    def __init__(self, camera):
        from Capsian.values import CPSN_PERSPECTIVE_CAMERA

        super().__init__(camera)

        if not isinstance(camera, CPSN_PERSPECTIVE_CAMERA):
            Log.critical(f"{repr(camera)} is not a valid camera for Scene3D!")
            return
        
        if not self.enable():
            Log.error(f"Could not enable scene {self}")
예제 #5
0
    def __init__(self, camera):
        from Capsian.values import CPSN_ORTHOGRAPHIC_CAMERA
        
        super().__init__(camera)

        self.dynamic_gui = types.LimitedLenghtObjectArray(200.000, False)

        if not isinstance(camera, CPSN_ORTHOGRAPHIC_CAMERA):
            Log.critical(f"{repr(camera)} is not a valid camera for Scene2D!")
            return
        
        if not self.enable():
            Log.error(f"Could not enable scene {self}")
예제 #6
0
    def __init__(self, camera):
        from Capsian.values import CPSN_HUD_SCENE, CPSN_PERSPECTIVE_CAMERA

        super().__init__(camera)

        self.hud_batch   = pyglet.graphics.Batch()
        self.dynamic_hud = types.LimitedLenghtObjectArray(30.0000, False)

        if not isinstance(camera, CPSN_PERSPECTIVE_CAMERA):
            Log.critical(f"{repr(camera)} is not a valid camera for OverlayScene!")
            return
        
        if not self.enable():
            Log.error(f"Could not enable scene {self}")
예제 #7
0
    def __init__(self, gl_light, color: list):
        """
        Parameters
        ----------
            gl_light | The OpenGL Light value                                  | GL_AMBIENT\GL_DIFFUSE\GL_SPECULAR
            color    | A list of four values describing the color of the light | list [R, G, B, A]
        """

        from Capsian.values import lights

        super().__init__()

        self.type = gl_light
        self.intensity = list(color)

        if not len(lights) > 0:
            self.light = pyglet.gl.GL_LIGHT0
            Log.error(
                "Unable to create light: All 8 light slots available are taken!"
            )
            return

        self.light = lights[0]
        lights.pop(0)