summaryrefslogtreecommitdiff
path: root/scripts/hud.gd
blob: 7a8e3cd41908f395eb17be643445f119c445e722 (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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
extends Node

func _ready():
  var view = get_tree().get_root().get_viewport()
  view.connect("size_changed", self, "_on_size_changed", [view])

func _on_ms_button_pressed():
  _toggle("ms")

func _on_storage_button_pressed():
  popup("storage")
  
func _on_help_button_pressed():
  popup("help")
    
func _toggle(which):
  var visible = get_node(which).is_visible()
  get_node(which).set_visible(!visible)

func popup(which):
  var tabs = ["storage", "help"]
  for tab in tabs:
    var vis = false
    if tab == which:
      vis = !get_node("right/" + tab).is_visible()
    get_node("right/" + tab).set_visible(vis)
  
func set_funds(cash):
  get_node("right/funds/cash").set_text(str(cash))
  
func update_storage(id, amount):
  get_node("right/storage").update_storage(id, amount)
  
func display_message(message, time=5):
  get_node("messages").display_message(message, time)

func _select_machine(machine):
  var cam = get_tree().get_root().get_camera()
  var node = get_tree().get_root().get_node("Game/" + machine)
  cam.select(node, node.get_node("point"))

func _on_combinator_button_pressed():
  self._select_machine("Combinator")

func _on_incubator_button_pressed():
  self._select_machine("Incubator")
  
func _on_exporter_button_pressed():
  self._select_machine("Exporter")

func _on_size_changed(viewport):
  var size = viewport.get_size()
  var right = get_node("right")
  right.set_position(Vector2(size.x, 0))
  
  var left_bottom = get_node("left_bottom")
  left_bottom.set_position(Vector2(0, size.y))