prototype vibe

This commit is contained in:
Marek Lenczewski
2026-04-16 17:20:57 +02:00
parent cf5979803e
commit f21e30eb55
72 changed files with 1330 additions and 70 deletions

View File

@@ -1,6 +1,6 @@
extends Node
const TARGET_RANGE := 20.0
const TARGET_RANGE := 100.0
var mouse_press_pos: Vector2 = Vector2.ZERO
@@ -29,15 +29,28 @@ func _try_target_under_mouse(mouse_pos: Vector2) -> void:
var result := space.intersect_ray(query)
if result:
var hit_target := result.collider.get_parent() as Node3D
EventBus.target_requested.emit(player, hit_target)
else:
EventBus.target_requested.emit(player, null)
if hit_target and hit_target.is_in_group("tavern"):
EventBus.target_requested.emit(player, null)
return
if hit_target and (hit_target.is_in_group("enemies") or hit_target.is_in_group("portals")):
EventBus.target_requested.emit(player, hit_target)
return
EventBus.target_requested.emit(player, null)
func _cycle_target() -> void:
var targets := get_tree().get_nodes_in_group("enemies") + get_tree().get_nodes_in_group("portals")
var enemies := get_tree().get_nodes_in_group("enemies")
var portals := get_tree().get_nodes_in_group("portals")
var targets: Array = []
for e in enemies:
if is_instance_valid(e):
targets.append(e)
for p in portals:
if is_instance_valid(p):
targets.append(p)
if targets.is_empty():
EventBus.target_requested.emit(player, null)
return
targets.sort_custom(func(a, b): return player.global_position.distance_squared_to(a.global_position) < player.global_position.distance_squared_to(b.global_position))
var current: Node3D = PlayerData.target
if current == null or current not in targets:
EventBus.target_requested.emit(player, targets[0])