Adds missing data
This commit is contained in:
parent
e6391d9fdd
commit
53cdcc3433
620 changed files with 47293 additions and 151 deletions
|
|
@ -1,16 +1,25 @@
|
|||
extends Camera3D
|
||||
|
||||
class_name CameraController
|
||||
|
||||
@export var PlayerNode: Node3D;
|
||||
|
||||
@export var turnSpeed: float = 0.25;
|
||||
@export var XRotationClamp: Vector2 = Vector2(-90, 90)
|
||||
|
||||
var currentRotation: Vector2 = Vector2(0,0);
|
||||
var enabled: bool = true
|
||||
|
||||
func _ready() -> void:
|
||||
Input.mouse_mode = Input.MOUSE_MODE_CAPTURED;
|
||||
|
||||
func disableInput():
|
||||
enabled = false
|
||||
|
||||
func _input(event: InputEvent) -> void:
|
||||
if not enabled:
|
||||
return
|
||||
|
||||
if event is InputEventKey && event.key_label == KEY_ESCAPE:
|
||||
Input.mouse_mode = Input.MOUSE_MODE_VISIBLE
|
||||
|
||||
|
|
|
|||
|
|
@ -14,6 +14,15 @@ static var Instance: Player;
|
|||
@onready var collisionShape: CollisionShape3D = $CollisionShape3D
|
||||
@onready var health: Health = $Health
|
||||
@onready var enemyTarget: Node3D = $"Enemy Target"
|
||||
@onready var deathHandler: DeathHandler = $DeathHandler
|
||||
@onready var cameraController: CameraController = $CollisionShape3D/Camera3D
|
||||
@onready var ui: UI = $Ui
|
||||
@onready var weapon: Node3D = $CollisionShape3D/Camera3D/Weapon
|
||||
|
||||
@onready var walkingSound = $Walking
|
||||
@onready var sprintingSound = $Sprinting
|
||||
@onready var startupSound = $Startup
|
||||
@onready var hitSound = $HitSound
|
||||
|
||||
const CROUCHED_SPEED: float = 2.5
|
||||
const SPEED: float = 5.0
|
||||
|
|
@ -23,13 +32,25 @@ const JUMP_VELOCITY: float = 4.5
|
|||
|
||||
var lastDirection = Vector2(0,0)
|
||||
@export var PlayerState: PlayerStates = PlayerStates.STANDING
|
||||
var controls = true
|
||||
|
||||
# Get the gravity from the project settings to be synced with RigidBody nodes.
|
||||
var gravity: float = ProjectSettings.get_setting("physics/3d/default_gravity")
|
||||
|
||||
func _ready() -> void:
|
||||
weapon.process_mode = Node.PROCESS_MODE_ALWAYS
|
||||
|
||||
get_tree().paused = true
|
||||
ui.setFade(0)
|
||||
get_tree().create_timer(1).timeout.connect(readying)
|
||||
weapon.process_mode = Node.PROCESS_MODE_PAUSABLE
|
||||
|
||||
Instance = self
|
||||
health.damaged.connect(self.damaged)
|
||||
health.death.connect(self.onDeath)
|
||||
|
||||
func readying():
|
||||
get_tree().paused = false;
|
||||
|
||||
func _physics_process(delta: float) -> void:
|
||||
# Add the gravity.
|
||||
|
|
@ -53,8 +74,12 @@ func _physics_process(delta: float) -> void:
|
|||
self.handleCrouching()
|
||||
if PlayerState == PlayerStates.STANDING && Input.is_action_pressed('player_sprint'):
|
||||
self.PlayerState = PlayerStates.SPRINTING
|
||||
walkingSound.process_mode = Node.PROCESS_MODE_DISABLED
|
||||
sprintingSound.process_mode = Node.PROCESS_MODE_INHERIT
|
||||
if PlayerState == PlayerStates.SPRINTING && Input.is_action_just_released('player_sprint'):
|
||||
self.PlayerState = PlayerStates.STANDING
|
||||
walkingSound.process_mode = Node.PROCESS_MODE_INHERIT
|
||||
sprintingSound.process_mode = Node.PROCESS_MODE_DISABLED
|
||||
|
||||
if PlayerState == PlayerStates.SPRINTING:
|
||||
speed = SPRINT_SPEED
|
||||
|
|
@ -96,3 +121,17 @@ func handleCrouching():
|
|||
|
||||
func damaged():
|
||||
print("Damage")
|
||||
|
||||
func onDeath(from):
|
||||
hitSound.play()
|
||||
deathHandler.died(from)
|
||||
cameraController.disableInput()
|
||||
ui.displayYouDied()
|
||||
|
||||
get_tree().paused = true
|
||||
|
||||
await get_tree().create_timer(2.5).timeout
|
||||
ui.setFade(1)
|
||||
await get_tree().create_timer(1.0).timeout
|
||||
|
||||
get_tree().reload_current_scene()
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ extends Node3D
|
|||
|
||||
@onready var animationtree: AnimationTree = $AnimationPlayer/AnimationTree
|
||||
@onready var timer: Timer = $CooldownTimer
|
||||
@onready var shootSound: AudioStreamPlayer3D = $ShootSound
|
||||
|
||||
@export_category("Firing")
|
||||
@export var MuzzleFlash: PackedScene
|
||||
|
|
@ -33,25 +34,23 @@ func _input(event: InputEvent) -> void:
|
|||
|
||||
self.animationtree.set('parameters/' + travelTarget + '/blend_position', randf_range(0, 2))
|
||||
self.statemachine.travel(travelTarget)
|
||||
shootSound.play()
|
||||
|
||||
fireBullet()
|
||||
|
||||
self.timer.start()
|
||||
|
||||
func fireBullet() -> void:
|
||||
var instance = self.MuzzleFlash.instantiate(PackedScene.GEN_EDIT_STATE_INSTANCE)
|
||||
var instance = self.MuzzleFlash.instantiate()
|
||||
Origin.add_child(instance)
|
||||
|
||||
var query = PhysicsRayQueryParameters3D.create(BulletOrigin.global_position, BulletOrigin.global_position + BulletOrigin.global_basis.z * -200)
|
||||
var result = get_world_3d().direct_space_state.intersect_ray(query)
|
||||
|
||||
if not result:
|
||||
print('No result')
|
||||
return
|
||||
|
||||
var health = result.collider.get_node_or_null('Health')
|
||||
if health:
|
||||
print("Dealing Damage")
|
||||
result.collider.health.take_damage(1, Vector2(0,0))
|
||||
result.collider.health.take_damage(1, Vector2(0,0), BulletOrigin)
|
||||
return
|
||||
print('No Health Element')
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue