summaryrefslogtreecommitdiff
path: root/scripts/camera.gd
blob: b099e16c55b9d5c795dd7a11d374f732f4ca472b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
extends InterpolatedCamera

var selected = null

func _ready():
  reset()
  
func select(what, new_target):
  print("before set")
  set_target(new_target)
  print("after set")
  if self.selected != what:
    print("before interp")
    set_interpolation_enabled(true)
    print("after interp")
    #set_translation(what.translation + Vector3(1,3,0))
  self.selected = what

func reselect():
  if self.selected != null:
    set_interpolation_enabled(false)
    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 reset():
  set_target(get_parent().get_node("overview"))
  set_interpolation_enabled(true)
  self.selected = get_parent().get_node("center")

func get_selected():
  return self.selected