summaryrefslogtreecommitdiff
path: root/client/player/character/character.gd
diff options
context:
space:
mode:
Diffstat (limited to 'client/player/character/character.gd')
-rw-r--r--client/player/character/character.gd27
1 files changed, 23 insertions, 4 deletions
diff --git a/client/player/character/character.gd b/client/player/character/character.gd
index d15ac61e..31d5230e 100644
--- a/client/player/character/character.gd
+++ b/client/player/character/character.gd
@@ -17,7 +17,10 @@
extends Node3D
class_name Character
+const DEFAULT_MAIN_MESH = preload("res://player/character/default/main.res")
const CUSTOMER_MAIN_MESH = preload("res://player/character/customer_body.res")
+const ROBOT_MAIN_MESH = preload("res://player/character/robot/body.res")
+
const WALK_ANIM_STRENGTH := 0.05
const WALK_ANIM_SPEED:= 15.0
@@ -37,12 +40,15 @@ var current_animation := "idle"
@onready var username_tag = $Username
@onready var tie = $Main/Tie
-@onready var hairstyles = {
- "Brown": $Main/Head/Hair,
- "Blond": $Main/Head/Hair2,
- "E. Parsley": $Main/Head/Hair3
+@onready var hairstyles := {
+ "Brown": $Main/HeadDefault/Hair,
+ "Blond": $Main/HeadDefault/Hair2,
+ "E. Parsley": $Main/HeadDefault/Hair3
}
+@onready var head_default: MeshInstance3D = $Main/HeadDefault
+@onready var head_robot: MeshInstance3D = $Main/HeadRobot
+
@onready var step_sounds: PlayRandom = $Steps
@onready var boost_sounds: PlayRandom = $Boosts
@@ -79,6 +85,9 @@ func _process(delta):
play_animation(next_animation)
func select_hairstyle(id: int):
+ if id == 51:
+ toggle_robot(true)
+ return
if id < 0:
to_customer()
id *= -1
@@ -95,6 +104,16 @@ func to_customer():
main.mesh = CUSTOMER_MAIN_MESH
tie.queue_free()
+func toggle_robot(b: bool):
+ if b:
+ head_robot.show()
+ head_default.hide()
+ main.mesh = ROBOT_MAIN_MESH
+ else:
+ head_robot.hide()
+ head_default.show()
+ main.mesh = DEFAULT_MAIN_MESH
+
func play_animation(name_: String):
current_animation = name_
hand_animations.play(name_)