summaryrefslogtreecommitdiff
path: root/scripts/camera.gd
diff options
context:
space:
mode:
authorJ08nY2017-04-22 16:58:23 +0200
committerJ08nY2017-04-22 16:58:23 +0200
commit3ed5257c222f34b591b744ef6418b5c1165be25f (patch)
tree94c93520cfdf6dad1c24d774612cdf2d4d3880eb /scripts/camera.gd
parentfee1e13ece6b3a75d59ecd19510567fb7a2f9a61 (diff)
downloadld38-3ed5257c222f34b591b744ef6418b5c1165be25f.tar.gz
ld38-3ed5257c222f34b591b744ef6418b5c1165be25f.tar.zst
ld38-3ed5257c222f34b591b744ef6418b5c1165be25f.zip
Diffstat (limited to 'scripts/camera.gd')
-rw-r--r--scripts/camera.gd26
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