update
This commit is contained in:
@@ -15,6 +15,8 @@ var _erde_version := -1
|
||||
var auf_erde := false
|
||||
var _fokus: Node3D = null
|
||||
var _fokus_mensch: Node3D = null
|
||||
var _interaktive: Array = [] # Ansprechbares der aktiven Welt, einmal gesammelt
|
||||
var _fokus_takt := 0.0 # Fokus, Markierung und Hinweis alle 0,05 s
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
@@ -119,6 +121,8 @@ func _aktivieren(neu: Node3D) -> void:
|
||||
w.set("spieler", player if an else null)
|
||||
w.call("aktiv_setzen", an)
|
||||
welt = neu
|
||||
_interaktive = []
|
||||
_fokus_takt = 0.0
|
||||
Game.teleport_lock = 1.0
|
||||
_fokus = null
|
||||
_fokus_mensch = null
|
||||
@@ -134,6 +138,10 @@ func _process(delta: float) -> void:
|
||||
return
|
||||
Game.notiz_sperre = maxf(0.0, Game.notiz_sperre - delta)
|
||||
Game.situationen_ticken(dt, auf_erde and not Game.schlaeft_ziel())
|
||||
_fokus_takt -= delta
|
||||
if _fokus_takt > 0.0:
|
||||
return
|
||||
_fokus_takt = 0.05
|
||||
_fokus_suchen()
|
||||
_markieren()
|
||||
_dabeisein()
|
||||
@@ -177,9 +185,13 @@ func _fokus_suchen() -> void:
|
||||
_fokus_mensch = null
|
||||
var p := player.global_position
|
||||
var best := REICHWEITE_OBJEKT
|
||||
for n in get_tree().get_nodes_in_group("interactable"):
|
||||
if not welt.is_ancestor_of(n):
|
||||
continue # die andere Welt liegt im selben Raum
|
||||
if _interaktive.is_empty():
|
||||
for n in get_tree().get_nodes_in_group("interactable"):
|
||||
if welt.is_ancestor_of(n): # die andere Welt liegt im selben Raum
|
||||
_interaktive.append(n)
|
||||
for n in _interaktive:
|
||||
if not is_instance_valid(n):
|
||||
continue
|
||||
var d: float = p.distance_to((n as Node3D).global_position)
|
||||
if d < best:
|
||||
best = d
|
||||
|
||||
Reference in New Issue
Block a user