Wired up player controls to jet control surfaces; additional jet factory and game mode work
This commit is contained in:
@@ -1,33 +1,75 @@
|
||||
class_name BaseJet extends Node
|
||||
|
||||
|
||||
var HEALTH: int = 100
|
||||
var YAW_SPEED: int = 50
|
||||
var ROLL_SPEED: int = 100
|
||||
var MIN_SPEED: int = 50
|
||||
var MAX_SPEED: int = 200
|
||||
var CONFLICT_SIDE = Globals.FACTION.NEUTRAL
|
||||
|
||||
var HEALTH: int = 100
|
||||
var YAW_SPEED: int = 50
|
||||
var ROLL_SPEED: int = 100
|
||||
var MIN_SPEED: int = 200
|
||||
var MAX_SPEED: int = 2000
|
||||
var ACCELERATION: int = 5
|
||||
|
||||
|
||||
func pull_up():
|
||||
pass
|
||||
func do_action(
|
||||
action: String,
|
||||
delta: float,
|
||||
jet: Jet
|
||||
) -> void:
|
||||
var change_rate: float = deg_to_rad(1) * delta
|
||||
|
||||
func push_down():
|
||||
pass
|
||||
match action:
|
||||
"pull_up":
|
||||
pull_up(change_rate, jet)
|
||||
"push_down":
|
||||
push_down(change_rate, jet)
|
||||
"yaw_left":
|
||||
yaw_left(change_rate, jet)
|
||||
"yaw_right":
|
||||
yaw_right(change_rate, jet)
|
||||
"roll_left":
|
||||
roll_left(change_rate, jet)
|
||||
"roll_right":
|
||||
roll_right(change_rate, jet)
|
||||
"throttle_up":
|
||||
throttle_up(delta, jet)
|
||||
"throttle_down":
|
||||
throttle_down(delta, jet)
|
||||
_:
|
||||
pass
|
||||
|
||||
func yaw_left():
|
||||
pass
|
||||
func pull_up(change_rate: float, jet: Jet) -> void:
|
||||
jet.rotate_object_local(Vector3.RIGHT, change_rate * MIN_SPEED)
|
||||
|
||||
func yaw_right():
|
||||
pass
|
||||
func push_down(change_rate: float, jet: Jet) -> void:
|
||||
jet.rotate_object_local(Vector3.LEFT, change_rate * MIN_SPEED)
|
||||
|
||||
func roll_left():
|
||||
pass
|
||||
func yaw_left(change_rate: float, jet: Jet) -> void:
|
||||
jet.rotate_object_local(Vector3.UP, change_rate * YAW_SPEED)
|
||||
|
||||
func roll_right():
|
||||
pass
|
||||
func yaw_right(change_rate: float, jet: Jet) -> void:
|
||||
jet.rotate_object_local(Vector3.DOWN, change_rate * YAW_SPEED)
|
||||
|
||||
func throttle_up():
|
||||
pass
|
||||
func roll_left(change_rate: float, jet: Jet) -> void:
|
||||
jet.rotate_object_local(Vector3.BACK, change_rate * ROLL_SPEED)
|
||||
|
||||
func throttle_down():
|
||||
pass
|
||||
func roll_right(change_rate: float, jet: Jet) -> void:
|
||||
jet.rotate_object_local(Vector3.FORWARD, change_rate * ROLL_SPEED)
|
||||
|
||||
func throttle_up(delta: float, jet: Jet) -> void:
|
||||
jet.velocity += (jet.transform.basis.z * -(delta * ACCELERATION))
|
||||
#clamp(
|
||||
#jet.velocity,
|
||||
#MIN_SPEED * Vector3.ONE,
|
||||
#MAX_SPEED * Vector3.ONE
|
||||
#)
|
||||
|
||||
jet.velocity = jet.velocity.limit_length(MAX_SPEED)
|
||||
|
||||
func throttle_down(delta: float, jet: Jet) -> void:
|
||||
jet.velocity += (jet.transform.basis.z * (delta * ACCELERATION))
|
||||
clamp(
|
||||
jet.velocity,
|
||||
MIN_SPEED * Vector3.ONE,
|
||||
MAX_SPEED * Vector3.ONE
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user