diff options
Diffstat (limited to 'client/player/character/character.gd')
| -rw-r--r-- | client/player/character/character.gd | 27 |
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_) |