summaryrefslogtreecommitdiff
path: root/scripts/camera.gd
blob: 090033fd99aa12e0cfa907c718ee83b102ac345f (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
extends InterpolatedCamera

var selected = null

func _ready():
  reset()
  
func select(what, new_target):
  set_target(new_target)
  if self.selected != what:
    set_interpolation_enabled(true)
    #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