You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

28 lines
647 B
GDScript

extends Camera3D
class_name CameraManager
var target:int
var offset:Vector3
func _ready():
Global.camera_mgr = self
SignalManager.character_create.connect(on_character_create)
SignalManager.character_pos_changed.connect(on_character_pos_changed)
SignalManager.character_destroy.connect(on_character_destroy)
func _process(delta):
pass
func on_character_create(id:int,team:Enum.ETeam,pos:Vector3):
if team == Enum.ETeam.Player:
target = id
offset = position - pos
func on_character_pos_changed(id:int,pos:Vector3):
if id == target:
position = pos + offset
func on_character_destroy(id:int):
target = 0
offset = Vector3.ZERO