X-Git-Url: http://git.purplebirdman.com/frog-ninja.git/blobdiff_plain/2e697142bf5e1b94429281572bdc1cbf5868d5ce..refs/heads/state-machine:/player/player.gd?ds=sidebyside diff --git a/player/player.gd b/player/player.gd index c6f39a8..7df3871 100644 --- a/player/player.gd +++ b/player/player.gd @@ -11,23 +11,31 @@ class_name Player var idle_time := 0.00 -var last_movement_direction := rotation +var last_movement_direction := rotation var floor_normal := Vector3.ZERO var ground_slope_input := 0.0 var state := "" @onready var input: InputHandler = $Input @onready var model: PlayerModel = $Model -@onready var skin: SkeletonSkin3D = $Visual -@onready var camera_handler: CameraHandler = $CameraHandler +@onready var visual: PlayerVisual = $Visual +@onready var cameraHandler: PlayerCameraHandler = $CameraHandler +@onready var skin: Node3D = $Model/Skeleton3D func _ready() -> void: - input.camera = %camera - camera_handler.input = input - skin.assign_skeleton(model.skeleton) + visual.assign_skeleton(model.skeleton) func _physics_process(delta: float) -> void: var input_pkt := input.get_player_input() + cameraHandler.update(input_pkt, delta) + + input_pkt.player_movement_direction = cameraHandler.get_xz_direction_relative_to_camera( + input_pkt.player_movement_direction + ) model.update(input_pkt, delta) + + # TODO: this is bad!! + skin.global_position = global_position + visual.global_rotation = skin.global_rotation