diff options
Diffstat (limited to 'scripts/camera.gd')
| -rw-r--r-- | scripts/camera.gd | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/scripts/camera.gd b/scripts/camera.gd new file mode 100644 index 0000000..e29ad51 --- /dev/null +++ b/scripts/camera.gd @@ -0,0 +1,26 @@ +extends Camera + +var selected = null + +func _ready(): + pass + +func select(what): + if self.selected != what: + set_translation(what.translation + Vector3(1,3,0)) + look_at(what.translation, Vector3(0,1,0)) + self.selected = what + +func reselect(): + if self.selected != null: + look_at(self.selected.translation, Vector3(0,1,0)) + +func rot_around(amount): + if self.selected != null: + var relative = self.translation - self.selected.translation + var rotated = relative.rotated(Vector3(0,1,0), amount) + set_translation(self.selected.translation + rotated) + reselect() + +func get_selected(): + return self.selected
\ No newline at end of file |
