about summary refs log tree commit diff stats
path: root/Archipelago/player.gd
blob: 52d743a3999fdfd4f62f3608d84711acfef499e7 (plain) (blame)
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
pre { line-height: 125%; }
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
.highlight .hll { background-color: #ffffcc }
.highlight .c { color: #888888 } /* Comment */
.highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */
.highlight .k { color: #008800; font-weight: bold } /* Keyword */
.highlight .ch { color: #888888 } /* Comment.Hashbang */
.highlight .cm { color: #888888
extends "res://scripts/player.gd"


var _oldpos = Vector3(0, -200, 0)


func _ready():
	_oldpos = translation
	_oldpos.y = 0

	var apclient = global.get_node("Archipelago")
	if apclient.track_player:
		var tracking_timer = Timer.new()
		tracking_timer.name = "TrackingTimer"
		tracking_timer.wait_time = 5.0
		add_child(tracking_timer)
		tracking_timer.connect("timeout", self, "_tick_tracking")
		tracking_timer.start()


func _tick_tracking():
	var newpos = translation
	newpos.y = 0
	
	if newpos != _oldpos && newpos.distance_to(_oldpos) > 10:
		_oldpos = newpos

		var apclient = global.get_node("Archipelago")
		apclient.setValue("PlayerPos", {"x": int(_oldpos.x), "z": int(_oldpos.z)})


func _solving():
	._solving()

	var effects_node = get_tree().get_root().get_node("Spatial/AP_Effects")
	effects_node.enter_solve_mode()


func _solvingEnd():
	._solvingEnd()

	var effects_node = get_tree().get_root().get_node("Spatial/AP_Effects")
	effects_node.exit_solve_mode()


func _unhandled_input(event):
	if event is InputEventKey:
		if event.pressed and event.scancode == KEY_P:
			var effects_node = get_tree().get_root().get_node("Spatial/AP_Effects")
			effects_node.skip_puzzle()