Files
Five-Nights-At-Akers/Scripts/Gameplay/Camera/cCameraViewer.gd
2026-03-27 10:35:03 -07:00

54 lines
959 B
GDScript

class_name cCameraViewer
extends TextureRect
var defaultTexture: Texture2D
var activeCamera: cCamera = null
var activeCameraID: int = -1
var activeTexture: Texture2D = null
func _ready() -> void:
clearCamera()
func _process(delta: float) -> void:
if activeCamera == null:
return
var newTexture = getCameraRender()
if newTexture != activeTexture:
activeTexture = newTexture
renderCamera()
func setCamera(id: int) -> void:
clearCamera()
activeCameraID = id
activeCamera = Global.game.camera
renderCamera()
func renderCamera() -> void:
if activeTexture == null:
self.texture = defaultTexture
else:
self.texture = activeTexture
func clearCamera() -> void:
activeCamera = null
activeCameraID = -1
activeTexture = defaultTexture
renderCamera()
func getCameraRender() -> Texture2D:
if activeCamera == null:
return defaultTexture
var feed = activeCamera.getFeed()
if feed == null:
return defaultTexture
return feed