]> Untitled Git - lightcycles.git/commitdiff
Made walls better
authorClifton Palmer <clifton.james.palmer@protonmail.com>
Sun, 15 Dec 2024 12:20:01 +0000 (14:20 +0200)
committerClifton Palmer <clifton.james.palmer@protonmail.com>
Sun, 15 Dec 2024 12:20:01 +0000 (14:20 +0200)
map/world.gd
map/world.tscn
player/player.gd

index 3b0e36b113477884db48731dabfb5f50f314a77c..f3dc592fa9ffc936a85cc715a85c16c6b5193da9 100644 (file)
@@ -3,26 +3,27 @@ extends Node3D
 @onready var _walls = $map
 
 var _player_wall_tscn = preload("res://player/player_wall.tscn")
 @onready var _walls = $map
 
 var _player_wall_tscn = preload("res://player/player_wall.tscn")
-var _wall_start: Vector3 = Vector3.ZERO
+var _player_wall_map = {}
+
+
+func _ready() -> void:
+       _player_add_wall($player)
+
 
 func _input(event: InputEvent) -> void:
        if event.is_action_pressed("ui_cancel"):
                get_tree().quit()
 
 
 
 func _input(event: InputEvent) -> void:
        if event.is_action_pressed("ui_cancel"):
                get_tree().quit()
 
 
-func _on_player_player_ready(player: Player) -> void:
-       var origin: Vector3 = player.get_tree().get_first_node_in_group("wall_origin").global_position
-       _wall_start = origin
+func _process(_delta: float) -> void:
+       for player: Player in _player_wall_map.keys():
+               var wall: PlayerWall = _player_wall_map[player]
+               wall.scale = Vector3(1, 1, (player.global_position - wall.global_position).length())
 
 
 
 
-func _on_player_player_turn(player: Player) -> void:
-       var origin: Vector3 = player.global_position
-       
+func _player_add_wall(player: Player) -> void:
        var wall: PlayerWall = _player_wall_tscn.instantiate()
        add_child(wall)
        var wall: PlayerWall = _player_wall_tscn.instantiate()
        add_child(wall)
-       wall.global_position = _wall_start
-       wall.global_scale(Vector3(1, 1, (origin - _wall_start).length()))
+       wall.global_position = player.global_position
        wall.global_rotation = player.global_rotation
        wall.global_rotation = player.global_rotation
-       print("Made a wall: " + str(wall))
-       
-       _wall_start = origin
+       _player_wall_map[player] = wall
index ebee4d95daf2d5527f2437ef95e329efb1ec00ac..ab2aaae6fe1a5c25a2eeea87053420553609bc95 100644 (file)
@@ -39,5 +39,4 @@ shape = SubResource("ConcavePolygonShape3D_mhr6o")
 transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -16)
 distance = 5.0
 
 transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -16)
 distance = 5.0
 
-[connection signal="playerReady" from="player" to="." method="_on_player_player_ready"]
-[connection signal="playerTurn" from="player" to="." method="_on_player_player_turn"]
+[connection signal="playerTurn" from="player" to="." method="_player_add_wall"]
index 1c842d4b5c14153628d0b0a39e6506a17acc55ac..43786766b45baa9c595e09cc77b33f756b0f1fa6 100644 (file)
@@ -2,7 +2,6 @@ class_name Player
 extends CharacterBody3D
 
 
 extends CharacterBody3D
 
 
-signal playerReady
 signal playerTurn
 
 
 signal playerTurn
 
 
@@ -17,16 +16,15 @@ signal playerTurn
 
 func _ready() -> void:
        _springArm.spring_length = distance
 
 func _ready() -> void:
        _springArm.spring_length = distance
-       playerReady.emit(self)
 
 
 func _input(event: InputEvent) -> void:
        if event.is_action_pressed("player_left"):
 
 
 func _input(event: InputEvent) -> void:
        if event.is_action_pressed("player_left"):
-               playerTurn.emit(self)
                global_rotate(Vector3.UP, PI/2)
                global_rotate(Vector3.UP, PI/2)
-       elif event.is_action_pressed("player_right"):
                playerTurn.emit(self)
                playerTurn.emit(self)
+       elif event.is_action_pressed("player_right"):
                global_rotate(Vector3.UP, -PI/2)
                global_rotate(Vector3.UP, -PI/2)
+               playerTurn.emit(self)
 
 
 func _physics_process(_delta: float) -> void:
 
 
 func _physics_process(_delta: float) -> void: