VISUCameraSystem
in package
implements
SystemInterface
Table of Contents
Interfaces
Constants
- CAMERA_MODE_FLYING = 1
- CAMERA_MODE_GAME = 0
- Camera modes
Properties
- $activeCameraEntity : int
- The currently active camera entity
- $dispatcher : Dispatcher
- $input : Input
- $visuCameraMode : int
- Current camera mode, this basically determines the subroutine that is used to update the camera
- $cameraEuler : Vec2
- Euler angles for default camera
- $inputCursorQueue : SignalQueue<string|int, CursorPosSignal>
- Cursor input queue
- $inputScrollQueue : SignalQueue<string|int, ScrollSignal>
- Mouse Scroll input queue
Methods
- __construct() : mixed
- Constructor
- getActiveCamera() : Camera
- Returns the active camera object or throws an exception if no camera is set, or cannot be retrieved.
- getActiveCameraEntity() : int
- Returns the active camera entity
- getCameraData() : CameraData
- Create a camera data structure for the given render target.
- handleCursorPos() : void
- Cursor position handler
- handleScroll() : void
- Scroll wheel handler
- register() : void
- Registers the system, this is where you should register all required components.
- render() : void
- Handles rendering of the scene, here you can attach additional render passes, modify the render pipeline or customize rendering related data.
- setActiveCameraEntity() : void
- Sets the currently active camera entity
- spawnDefaultFlyingCamera() : int
- Spwans a default flying camera entity
- unregister() : void
- Unregisters the system, this is where you can handle any cleanup.
- update() : void
- Updates handler, this is where the game state should be updated.
- updateGameCamera() : void
- Override this method to update the camera in game mode
- updateVISUFlyingCamera() : void
- Flying camera mode update
- handleCursorPosVISUGame() : void
- Override this method to handle the cursor position in game mode
- handleScrollVISUGame() : void
- Override this method to handle the scroll wheel in game mode
- handleCursorPosVISUFlying() : void
- Cursor position handler
- handleScrollVISUFlying() : void
- Scroll wheel handler
Constants
CAMERA_MODE_FLYING
public
mixed
CAMERA_MODE_FLYING
= 1
CAMERA_MODE_GAME
Camera modes
public
mixed
CAMERA_MODE_GAME
= 0
Properties
$activeCameraEntity
The currently active camera entity
public
int
$activeCameraEntity
= 0
$dispatcher
protected
Dispatcher
$dispatcher
$input
protected
Input
$input
$visuCameraMode
Current camera mode, this basically determines the subroutine that is used to update the camera
protected
int
$visuCameraMode
= self::CAMERA_MODE_FLYING
$cameraEuler
Euler angles for default camera
private
Vec2
$cameraEuler
$inputCursorQueue
Cursor input queue
private
SignalQueue<string|int, CursorPosSignal>
$inputCursorQueue
$inputScrollQueue
Mouse Scroll input queue
private
SignalQueue<string|int, ScrollSignal>
$inputScrollQueue
Methods
__construct()
Constructor
public
__construct(Input $input, Dispatcher $dispatcher) : mixed
Parameters
- $input : Input
- $dispatcher : Dispatcher
getActiveCamera()
Returns the active camera object or throws an exception if no camera is set, or cannot be retrieved.
public
getActiveCamera(EntitiesInterface $entities) : Camera
Parameters
- $entities : EntitiesInterface
Return values
CameragetActiveCameraEntity()
Returns the active camera entity
public
getActiveCameraEntity() : int
Return values
intgetCameraData()
Create a camera data structure for the given render target.
public
getCameraData(EntitiesInterface $entities, RenderTarget $renderTarget, float $compensation) : CameraData
Parameters
- $entities : EntitiesInterface
- $renderTarget : RenderTarget
- $compensation : float
Return values
CameraDatahandleCursorPos()
Cursor position handler
public
handleCursorPos(EntitiesInterface $entities, CursorPosSignal $signal) : void
Parameters
- $entities : EntitiesInterface
- $signal : CursorPosSignal
handleScroll()
Scroll wheel handler
public
handleScroll(EntitiesInterface $entities, ScrollSignal $signal) : void
Parameters
- $entities : EntitiesInterface
- $signal : ScrollSignal
register()
Registers the system, this is where you should register all required components.
public
register(EntitiesInterface $entities) : void
Parameters
- $entities : EntitiesInterface
render()
Handles rendering of the scene, here you can attach additional render passes, modify the render pipeline or customize rendering related data.
public
render(EntitiesInterface $entities, RenderContext $context) : void
Parameters
- $entities : EntitiesInterface
- $context : RenderContext
setActiveCameraEntity()
Sets the currently active camera entity
public
setActiveCameraEntity(int $entity) : void
Parameters
- $entity : int
spawnDefaultFlyingCamera()
Spwans a default flying camera entity
public
spawnDefaultFlyingCamera(EntitiesInterface $entities[, Vec3|null $position = null ]) : int
Parameters
- $entities : EntitiesInterface
- $position : Vec3|null = null
Return values
intunregister()
Unregisters the system, this is where you can handle any cleanup.
public
unregister(EntitiesInterface $entities) : void
Parameters
- $entities : EntitiesInterface
update()
Updates handler, this is where the game state should be updated.
public
update(EntitiesInterface $entities) : void
Parameters
- $entities : EntitiesInterface
updateGameCamera()
Override this method to update the camera in game mode
public
updateGameCamera(EntitiesInterface $entities, Camera $camera) : void
Parameters
- $entities : EntitiesInterface
- $camera : Camera
updateVISUFlyingCamera()
Flying camera mode update
public
updateVISUFlyingCamera(EntitiesInterface $entities, Camera $camera) : void
Parameters
- $entities : EntitiesInterface
- $camera : Camera
handleCursorPosVISUGame()
Override this method to handle the cursor position in game mode
protected
handleCursorPosVISUGame(EntitiesInterface $entities, CursorPosSignal $signal) : void
Parameters
- $entities : EntitiesInterface
- $signal : CursorPosSignal
handleScrollVISUGame()
Override this method to handle the scroll wheel in game mode
protected
handleScrollVISUGame(EntitiesInterface $entities, ScrollSignal $signal) : void
Parameters
- $entities : EntitiesInterface
- $signal : ScrollSignal
handleCursorPosVISUFlying()
Cursor position handler
private
handleCursorPosVISUFlying(CursorPosSignal $signal) : void
Parameters
- $signal : CursorPosSignal
handleScrollVISUFlying()
Scroll wheel handler
private
handleScrollVISUFlying(ScrollSignal $signal) : void
Parameters
- $signal : ScrollSignal