summaryrefslogtreecommitdiff
path: root/demos/2d/navpoly/navigation.gd
diff options
context:
space:
mode:
Diffstat (limited to 'demos/2d/navpoly/navigation.gd')
-rw-r--r--demos/2d/navpoly/navigation.gd53
1 files changed, 0 insertions, 53 deletions
diff --git a/demos/2d/navpoly/navigation.gd b/demos/2d/navpoly/navigation.gd
deleted file mode 100644
index 4cfa2ad733..0000000000
--- a/demos/2d/navpoly/navigation.gd
+++ /dev/null
@@ -1,53 +0,0 @@
-
-extends Navigation2D
-
-# Member variables
-const SPEED = 200.0
-
-var begin = Vector2()
-var end = Vector2()
-var path = []
-
-
-func _process(delta):
- if (path.size() > 1):
- var to_walk = delta*SPEED
- while(to_walk > 0 and path.size() >= 2):
- var pfrom = path[path.size() - 1]
- var pto = path[path.size() - 2]
- var d = pfrom.distance_to(pto)
- if (d <= to_walk):
- path.remove(path.size() - 1)
- to_walk -= d
- else:
- path[path.size() - 1] = pfrom.linear_interpolate(pto, to_walk/d)
- to_walk = 0
-
- var atpos = path[path.size() - 1]
- get_node("agent").set_pos(atpos)
-
- if (path.size() < 2):
- path = []
- set_process(false)
- else:
- set_process(false)
-
-
-func _update_path():
- var p = get_simple_path(begin, end, true)
- path = Array(p) # Vector2array too complex to use, convert to regular array
- path.invert()
-
- set_process(true)
-
-
-func _input(event):
- if (event.type == InputEvent.MOUSE_BUTTON and event.pressed and event.button_index == 1):
- begin = get_node("agent").get_pos()
- # Mouse to local navigation coordinates
- end = event.pos - get_pos()
- _update_path()
-
-
-func _ready():
- set_process_input(true)