aboutsummaryrefslogtreecommitdiff
path: root/client/player
diff options
context:
space:
mode:
Diffstat (limited to 'client/player')
-rw-r--r--client/player/controllable_player.gd6
-rw-r--r--client/player/marker.gd2
-rw-r--r--client/player/player.gd15
3 files changed, 14 insertions, 9 deletions
diff --git a/client/player/controllable_player.gd b/client/player/controllable_player.gd
index 4c157349..bb9c75e8 100644
--- a/client/player/controllable_player.gd
+++ b/client/player/controllable_player.gd
@@ -32,7 +32,7 @@ func _ready():
add_child(timer)
timer.start()
timer.connect("timeout", func():
- Multiplayer.send_position(Vector2(position.x, position.z), rotation.y)
+ Multiplayer.send_position(position_, rotation_)
)
func _process(delta):
@@ -53,7 +53,7 @@ func _process(delta):
func update(dt: float, input: Vector2):
var direction = input.limit_length(1.);
- rotation.y = atan2(self.facing.x, self.facing.y);
+ rotation_ = atan2(self.facing.x, self.facing.y);
if direction.length() > 0.1:
self.facing = direction + (self.facing - direction) * exp(-dt * 10.);
self.velocity_ += direction * dt * PLAYER_SPEED;
@@ -76,7 +76,7 @@ func collide(dt: float):
self.position_ += (PLAYER_SIZE - d) * grad;
self.velocity_ -= grad * grad.dot(self.velocity_)
-
+
for player: Player in game.players.values():
var diff = self.position_ - player.position_
var d = diff.length()
diff --git a/client/player/marker.gd b/client/player/marker.gd
index fa11ff98..6e3e6ffa 100644
--- a/client/player/marker.gd
+++ b/client/player/marker.gd
@@ -16,7 +16,7 @@
class_name Marker
extends Node3D
-@onready var _cube: MeshInstance3D = $Cubew
+@onready var _cube: MeshInstance3D = $Cube
func set_interactive(val: bool):
var mat: ShaderMaterial = _cube.get_active_material(0)
diff --git a/client/player/player.gd b/client/player/player.gd
index 423855e9..b8982aa7 100644
--- a/client/player/player.gd
+++ b/client/player/player.gd
@@ -22,11 +22,15 @@ const PLAYER_SIZE: float = 0.4
const SPEED: float = 25.
var game: Game
+var rotation_ = 0.
+var rotation_anim = 0.
var position_ = Vector2(0, 0)
+var position_anim = Vector2(0, 0)
-var mesh = preload("res://scenes/player.tscn").instantiate()
+var mesh = preload("res://player/player.tscn").instantiate()
-var hand: Node3D = null
+var hand: Item = null
+var hand_base: Node3D = Node3D.new()
var _anim_angle: float = 0.0
@@ -40,6 +44,9 @@ func _init(_id: int, new_name: String, pos: Vector2, _character: int, new_game:
name = new_name
game = new_game
+ hand_base.position = HAND_BASE_POSITION
+ add_child(hand_base)
+
func update_position(new_position: Vector2, new_rotation: float):
position_ = new_position
rotation_ = new_rotation
@@ -63,9 +70,7 @@ func take_item(tile: Floor):
if hand != null:
push_error("already holding an item")
var i = tile.take_item()
- if i == null:
- push_error("tile is null")
- hand = i
+ set_item(i)
func put_item(tile: Floor):
var i = remove_item()