Teleporter fixes
This commit is contained in:
1 parent
66f6906bfd
commit
6d84b7a5fb
3 files changed
+14
-9
No files matched your search
+2
-5
@@ -20,16 +20,13 @@ func refresh_jump(new_jumps):
|
||||
jumps = new_jumps
|
||||
else:
|
||||
jumps = 1
|
||||
refresh_teleport()
|
||||
|
||||
func refresh_teleport():
|
||||
teleport_cooldown = 0
|
||||
get_tree().call_group("TELEPORTERS","enable")
|
||||
|
||||
func on_teleport():
|
||||
refresh_jump(1)
|
||||
teleport_cooldown = 1
|
||||
$Camera2D.position_smoothing_enabled = true
|
||||
await get_tree().create_timer(1).timeout
|
||||
teleport_cooldown = 0
|
||||
|
||||
func _process(delta: float) -> void:
|
||||
if Input.is_action_just_pressed("jump"):
|
||||
|
||||
+1
-1
@@ -18,7 +18,7 @@ scale = Vector2(100, 100)
|
||||
texture = ExtResource("3_p3026")
|
||||
|
||||
[node name="Camera2D" type="Camera2D" parent="." unique_id=962368438]
|
||||
zoom = Vector2(1.65, 1.65)
|
||||
zoom = Vector2(1.75, 1.75)
|
||||
process_callback = 0
|
||||
position_smoothing_enabled = true
|
||||
position_smoothing_speed = 3.0
|
||||
|
||||
+11
-3
@@ -3,6 +3,8 @@ extends Node2D
|
||||
@export var paired_teleporter: String
|
||||
var checked_teleport
|
||||
var telecam_speed_mult = 4
|
||||
var enabled = true
|
||||
var cooldown = 2
|
||||
|
||||
func _ready() -> void:
|
||||
add_to_group("TELEPORTERS")
|
||||
@@ -12,9 +14,11 @@ func check_for_pair() -> String:
|
||||
return paired_teleporter
|
||||
|
||||
func disable():
|
||||
enabled = false
|
||||
$Sprite2D.modulate = Color.DARK_ORANGE
|
||||
|
||||
func enable():
|
||||
enabled = true
|
||||
$Sprite2D.modulate = Color.WHITE
|
||||
|
||||
func _process(delta: float) -> void:
|
||||
@@ -24,11 +28,15 @@ func _physics_process(delta: float) -> void:
|
||||
pass
|
||||
|
||||
func _on_contact(body) -> void:
|
||||
#print("PASSED OVER TELEPORTER")
|
||||
get_tree().call_group("TELEPORTERS","disable")
|
||||
#get_tree().call_group("TELEPORTERS","disable")
|
||||
for teleporter in get_tree().get_nodes_in_group("TELEPORTERS"):
|
||||
if teleporter != self:
|
||||
if teleporter.paired_teleporter == paired_teleporter and %Player2D.teleport_cooldown == 0:
|
||||
if teleporter.paired_teleporter == paired_teleporter and enabled:
|
||||
%Player2D.get_node("Camera2D").position_smoothing_enabled = false
|
||||
if %Player2D.teleport_cooldown > 0:
|
||||
return
|
||||
body.set_position(teleporter.get_position())
|
||||
%Player2D.on_teleport()
|
||||
disable()
|
||||
await get_tree().create_timer(cooldown).timeout
|
||||
enable()
|
||||
Reference in new issue
Block a user