Save working changes
This commit is contained in:
parent
5b58093138
commit
159f5ae629
Binary file not shown.
@ -16,6 +16,8 @@ var current_level
|
|||||||
|
|
||||||
var uuid: String = ""
|
var uuid: String = ""
|
||||||
|
|
||||||
|
var old_global_trans_cache: Transform3D
|
||||||
|
|
||||||
@export_range(0.01, 1.0, 0.01) var base_turn_speed: float = 0.35
|
@export_range(0.01, 1.0, 0.01) var base_turn_speed: float = 0.35
|
||||||
@export var max_turn_speed: float = 0.5
|
@export var max_turn_speed: float = 0.5
|
||||||
@export_range(0.01, 1.0, 0.01) var base_lift_speed: float = 2.0
|
@export_range(0.01, 1.0, 0.01) var base_lift_speed: float = 2.0
|
||||||
@ -39,41 +41,41 @@ func _ready():
|
|||||||
|
|
||||||
|
|
||||||
func _physics_process(_delta):
|
func _physics_process(_delta):
|
||||||
if ship_is_piloted:
|
if piloting_player.is_network_authority:
|
||||||
var turn_speed = base_turn_speed / max(mass, 1)
|
if ship_is_piloted:
|
||||||
var lift_speed = base_lift_speed / max(mass, 1)
|
var turn_speed = base_turn_speed / max(mass, 1)
|
||||||
|
var lift_speed = base_lift_speed / max(mass, 1)
|
||||||
|
|
||||||
|
if Input.is_action_pressed("move_left"):
|
||||||
|
angular_velocity.y += turn_speed
|
||||||
|
elif Input.is_action_pressed("move_right"):
|
||||||
|
angular_velocity.y -= turn_speed
|
||||||
|
else:
|
||||||
|
global_rotation.z = lerpf(global_rotation.z, 0, 0.8)
|
||||||
|
|
||||||
|
if Input.is_action_pressed("jump"):
|
||||||
|
linear_velocity.y += lift_speed
|
||||||
|
elif Input.is_action_pressed("crouch"):
|
||||||
|
linear_velocity.y -= lift_speed
|
||||||
|
|
||||||
|
var target_velocity = Vector3.ZERO
|
||||||
|
if Input.is_action_pressed("move_forwards"):
|
||||||
|
target_velocity = -transform.basis.z * top_speed
|
||||||
|
elif Input.is_action_pressed("move_backwards"):
|
||||||
|
target_velocity = transform.basis.z * top_speed
|
||||||
|
var current_acceleration = (target_velocity - linear_velocity) * acceleration
|
||||||
|
apply_central_force(current_acceleration * mass)
|
||||||
|
if linear_velocity.length() > top_speed:
|
||||||
|
linear_velocity = linear_velocity.normalized() * top_speed
|
||||||
|
|
||||||
|
angular_velocity.y = clamp(angular_velocity.y, -max_turn_speed, max_turn_speed)
|
||||||
|
|
||||||
if Input.is_action_pressed("move_left"):
|
# Self level slowly
|
||||||
angular_velocity.y += turn_speed
|
global_rotation.x = lerpf(global_rotation.x, 0, 0.1)
|
||||||
elif Input.is_action_pressed("move_right"):
|
global_rotation.z = lerpf(global_rotation.z, 0, 0.1)
|
||||||
angular_velocity.y -= turn_speed
|
|
||||||
else:
|
|
||||||
global_rotation.z = lerpf(global_rotation.z, 0, 0.8)
|
|
||||||
|
|
||||||
if Input.is_action_pressed("jump"):
|
# Networking
|
||||||
linear_velocity.y += lift_speed
|
NetworkManager.sync_property(uuid, "global_transform", global_transform)
|
||||||
elif Input.is_action_pressed("crouch"):
|
|
||||||
linear_velocity.y -= lift_speed
|
|
||||||
|
|
||||||
var target_velocity = Vector3.ZERO
|
|
||||||
if Input.is_action_pressed("move_forwards"):
|
|
||||||
target_velocity = -transform.basis.z * top_speed
|
|
||||||
elif Input.is_action_pressed("move_backwards"):
|
|
||||||
target_velocity = transform.basis.z * top_speed
|
|
||||||
var current_acceleration = (target_velocity - linear_velocity) * acceleration
|
|
||||||
apply_central_force(current_acceleration * mass)
|
|
||||||
if linear_velocity.length() > top_speed:
|
|
||||||
linear_velocity = linear_velocity.normalized() * top_speed
|
|
||||||
|
|
||||||
angular_velocity.y = clamp(angular_velocity.y, -max_turn_speed, max_turn_speed)
|
|
||||||
|
|
||||||
# Self level slowly
|
|
||||||
global_rotation.x = lerpf(global_rotation.x, 0, 0.1)
|
|
||||||
global_rotation.z = lerpf(global_rotation.z, 0, 0.1)
|
|
||||||
|
|
||||||
# Networking
|
|
||||||
NetworkManager.sync_property(uuid, "global_position", global_position)
|
|
||||||
NetworkManager.sync_property(uuid, "global_rotation", global_rotation)
|
|
||||||
|
|
||||||
|
|
||||||
func _on_area_3d_body_entered(body: Node3D) -> void:
|
func _on_area_3d_body_entered(body: Node3D) -> void:
|
||||||
|
Binary file not shown.
Loading…
Reference in New Issue
Block a user