diff options
Diffstat (limited to 'client/player/player.gd')
| -rw-r--r-- | client/player/player.gd | 23 | 
1 files changed, 15 insertions, 8 deletions
diff --git a/client/player/player.gd b/client/player/player.gd index c52cc6e0..c7a12598 100644 --- a/client/player/player.gd +++ b/client/player/player.gd @@ -30,10 +30,14 @@ var boosting := false  var walking := false  var username: String +var movement_base: Node3D = Node3D.new() +  var character: Character = preload("res://player/character/character.tscn").instantiate()  var chat_bubble: ChatBubble = preload("res://player/chat_bubble.tscn").instantiate()  var item_bubble: ItemBubble = preload("res://player/item_bubble.tscn").instantiate()  var effect: Effect = preload("res://player/effect.tscn").instantiate() +var marker: Marker = preload("res://player/marker.tscn").instantiate() +var marker_target = Vector3(0, 0, 0)  var clear_timer: Timer = Timer.new() @@ -46,7 +50,8 @@ var _anim_angle: float = 0.0  const HAND_BASE_POSITION: Vector3 = Vector3(0, .25, .4)  func _init(_id: int, new_name: String, pos: Vector2, new_character_idx: int, new_game: Game): -	add_child(character) +	add_child(movement_base) +	movement_base.add_child(character)  	position_ = pos  	position_anim = pos  	name = new_name @@ -54,15 +59,17 @@ func _init(_id: int, new_name: String, pos: Vector2, new_character_idx: int, new  	username = new_name  	hand_base.position = HAND_BASE_POSITION -	add_child(hand_base) +	movement_base.add_child(hand_base) -	add_child(chat_bubble) -	add_child(item_bubble) -	add_child(effect) +	movement_base.add_child(chat_bubble) +	movement_base.add_child(item_bubble) +	movement_base.add_child(effect)  	clear_timer.one_shot = true  	clear_timer.wait_time = 5.  	add_child(clear_timer) +	marker.visible = false +	add_child(marker)  	character_idx = new_character_idx @@ -131,9 +138,9 @@ func _process(delta):  	hand_base.position.y = HAND_BASE_POSITION.y + 0.05 * sin(_anim_angle * 3)  	position_anim = Global.interpolate(position_anim, position_, delta * 10)  	rotation_anim = Global.interpolate_angle(rotation_anim, rotation_, delta * 10) -	position.x = position_anim.x -	position.z = position_anim.y -	rotation.y = rotation_anim +	movement_base.position.x = position_anim.x +	movement_base.position.z = position_anim.y +	movement_base.rotation.y = rotation_anim  	walking = walking or position_.distance_squared_to(position_anim) > 0.001  	character.walking = walking  	character.boosting = boosting  |