Global refactor
This commit is contained in:
parent
3868af29e3
commit
0589ca4e23
180 changed files with 249 additions and 401 deletions
|
|
@ -1,60 +0,0 @@
|
|||
extends CharacterBody3D
|
||||
|
||||
class_name Player
|
||||
|
||||
@export var team: Session.TEAMS
|
||||
@export var weapon_models: Dictionary[StringName,Node3D]
|
||||
@export var player_id: int = 1:
|
||||
set(id):
|
||||
player_id = id
|
||||
$PlayerInput.set_multiplayer_authority(id)
|
||||
$Camera3D.set_multiplayer_authority(id)
|
||||
|
||||
var passived: bool = false
|
||||
|
||||
signal health_changed(to: int)
|
||||
signal died
|
||||
|
||||
const MAX_HP = 100
|
||||
|
||||
@export var hp: int = 100:
|
||||
set(value):
|
||||
if value < 0:
|
||||
hp = 0
|
||||
else:
|
||||
hp = value
|
||||
health_changed.emit(hp)
|
||||
if hp == 0:
|
||||
die()
|
||||
|
||||
get:
|
||||
return hp
|
||||
|
||||
func _physics_process(_delta: float) -> void:
|
||||
if not multiplayer.is_server():
|
||||
return
|
||||
|
||||
move_and_slide()
|
||||
|
||||
func die() -> void:
|
||||
if (not multiplayer.is_server()):
|
||||
return
|
||||
Session.add_dead(team)
|
||||
died.emit()
|
||||
die_on_peers.rpc()
|
||||
passived = true
|
||||
|
||||
@rpc("authority","call_remote","reliable")
|
||||
func die_on_peers():
|
||||
if multiplayer.get_remote_sender_id() != 1:
|
||||
return
|
||||
died.emit()
|
||||
|
||||
func passive() -> void:
|
||||
passived = true
|
||||
|
||||
func depassive() -> void:
|
||||
passived = false
|
||||
|
||||
func take_damage(damage: int):
|
||||
hp -= damage
|
||||
Loading…
Add table
Add a link
Reference in a new issue