summaryrefslogtreecommitdiff
path: root/scenes/char/weener.gd
diff options
context:
space:
mode:
Diffstat (limited to 'scenes/char/weener.gd')
-rw-r--r--scenes/char/weener.gd110
1 files changed, 0 insertions, 110 deletions
diff --git a/scenes/char/weener.gd b/scenes/char/weener.gd
deleted file mode 100644
index b970b20..0000000
--- a/scenes/char/weener.gd
+++ /dev/null
@@ -1,110 +0,0 @@
-class_name Weener extends CharacterBody2D
-
-@onready var sprite := $Sprite
-@onready var nav2d := $NavigationAgent2D
-
-const ref_speed := 500.0
-@onready var speed := ref_speed
-@onready var target := position
-
-@onready var interactions := []
-var door: Door = null
-#@onready var inventory := []
-
-static var spawnpoint: int = -1
-static var sprite_flip: bool
-
-var input_listen := true
-
-func _physics_process(delta: float) -> void:
- set_target()
- if input_listen:
- navigate(delta)
-
-
-func _ready() -> void:
- nav2d.navigation_finished.connect(func() -> void:
- if door != null:
- travel(door)
- )
- sprite.flip_h = sprite_flip
-
-
-func _exit_tree() -> void:
- sprite_flip = sprite.flip_h
-
-
-func set_target() -> void:
- if Input.is_action_just_pressed("set_target"):
- if !interactions.is_empty() and interactions[0].mouse_in:
- interact(interactions[0])
- else:
- nav2d.target_position = get_global_mouse_position()
- if position.distance_to(nav2d.target_position) > 750:
- speed = ref_speed * 1.8
- else:
- speed = ref_speed
-
-
-func navigate(delta: float) -> void:
- if nav2d.is_navigation_finished():
- sprite.play("stand")
- return
- var next_path_position: Vector2 = nav2d.get_next_path_position()
- velocity = global_position.direction_to(next_path_position) * speed
- sprite.flip_h = velocity.x > 0
- position += velocity * delta
- if speed > ref_speed:
- sprite.play("run")
- else:
- sprite.play("walk")
-
-
-func _on_area_entered(area):
- interactions.insert(0, area)
-
-
-func _on_area_exited(area):
- interactions.erase(area)
-
-
-func _on_walk_detect_area_entered(area: Area2D) -> void:
- door = area as Door
-
-
-func _on_walk_detect_area_exited(_area: Area2D) -> void:
- door = null
-
-
-func interact(item: Item) -> void:
- match item.item_type:
- Item.ItemTypes.NONE:
- return
- Item.ItemTypes.TALK:
- print(" ".join(item.text))
- Item.ItemTypes.PICKUP:
- input_listen = false
- sprite.play("grab")
- sprite.animation_finished.connect(func() -> void: input_listen = true)
- Inventory.inventory.set(item.item_id, false)
- item.queue_free()
- print(Inventory.inventory)
- Item.ItemTypes.USE:
- #item.execute(item.uses)
- for use in item.uses:
- match use:
- Item.UseTypes.TAKE_ITEM:
- if item.useable_item in Inventory.inventory:
- Inventory.inventory.set(item.useable_item, true)
- print(Inventory.inventory)
- item.used = true
- Item.UseTypes.CLEAR:
- if item.used:
- item.queue_free()
- _:
- break
-
-
-func travel(d: Door) -> void:
- spawnpoint = d.go_to_spawnpoint
- get_tree().change_scene_to_file(d.target_scene)