mirror of
https://port.numenaute.org/aleajactaest/bazar_alea.git
synced 2024-11-22 07:06:13 +00:00
188 lines
5.6 KiB
GDScript
188 lines
5.6 KiB
GDScript
extends CharacterBody3D
|
|
|
|
|
|
@export var speed = 5.0
|
|
@export var jump_velocity = 4.5
|
|
|
|
var camrot_h:float = 0.0
|
|
var camrot_v:float = 0.0
|
|
@export var h_acceleration:float = 10.0
|
|
@export var v_acceleration:float = 10.0
|
|
@export var h_sensitivity:float = 0.5
|
|
@export var v_sensitivity:float = 0.5
|
|
|
|
#var save_rot:Vector3
|
|
#var tick:int = 0
|
|
#var jump:Vector3 = Vector3(0.0, 0.0, 0.0)
|
|
#var tickjump: int = 0
|
|
|
|
|
|
# Get the gravity from the project settings to be synced with RigidBody nodes.
|
|
var gravity = ProjectSettings.get_setting("physics/3d/default_gravity")
|
|
@export var otherplayer:bool = true:
|
|
get:
|
|
return otherplayer
|
|
set(value):
|
|
otherplayer = value
|
|
|
|
|
|
func set_otherplayer(value:bool):
|
|
otherplayer = value
|
|
|
|
#
|
|
#func _set(property:String, value) -> bool:
|
|
# if property == "position":
|
|
# print("changed position ",value)
|
|
# return false
|
|
|
|
|
|
func _ready():
|
|
$SpringArm3D/Camera3D.set_current(false)
|
|
set_process(false)
|
|
$CharacterMovementComponent.start_jump.connect(_on_start_jump)
|
|
# $CameraComponent.set_process(false)
|
|
# $PlayerController.set_process(false)
|
|
# $PlayerNetworkingComponent.set_process(false)
|
|
# $CharacterMovementComponent.set_process(false)
|
|
# $TargetingComponent.set_process(false)
|
|
# $CombatSystem.set_process(false)
|
|
# $AttributesManager.set_process(false)
|
|
# $AttributesManager/HealthAttribute.set_process(false)
|
|
# $AttributesManager/StaminaAttribute.set_process(false)
|
|
#$PlayerGameplayComponent.update_animations()
|
|
|
|
|
|
func _on_start_jump(vertical_velocity:Vector3):
|
|
$PlayerNetworkingComponent.start_jump(vertical_velocity)
|
|
|
|
|
|
func get_my_position() -> Vector3:
|
|
return $PlayerNetworkingComponent.get_my_position()
|
|
#return self.get_global_position()
|
|
|
|
|
|
func get_my_rotation() -> Vector3:
|
|
return $PlayerNetworkingComponent.get_my_rotation()
|
|
#return $SpringArm3D/Camera3D.get_global_rotation()
|
|
#return $Armature/Skeleton3D.get_global_rotation()
|
|
#print($Armature/Skeleton3D.get_global_rotation(), "---", $Armature.get_global_rotation())
|
|
#return $Armature.get_global_rotation()
|
|
|
|
|
|
func is_jump() -> bool:
|
|
#return jump != Vector3( 0.0, 0.0, 0.0)
|
|
return $PlayerNetworkingComponent.is_jump()
|
|
|
|
|
|
func get_jump() -> Vector3:
|
|
# var ret:Vector3 = jump
|
|
# jump = Vector3(0.0, 0.0, 0.0)
|
|
# return ret
|
|
return $PlayerNetworkingComponent.get_jump()
|
|
|
|
func get_tickjump() -> int:
|
|
# return tickjump
|
|
return $PlayerNetworkingComponent.get_tickjump()
|
|
|
|
func set_first_position_player(ctick:int, pos:Vector3, rot:Vector3):
|
|
# set_my_position(pos)
|
|
# set_my_rotation(rot)
|
|
$PlayerNetworkingComponent.set_first_position_player(ctick, pos, rot)
|
|
|
|
|
|
func update_player(ctick:int, pos:Vector3, rot:Vector3, extra:int, ctickjump:int, vel:Vector3):
|
|
$PlayerNetworkingComponent.update_player(ctick, pos, rot, extra, ctickjump, vel)
|
|
# #print(tick, " - ", ctick)
|
|
# if tick != ctick:
|
|
# #set_my_rotation(rot)
|
|
# print("extra:", extra, " ctickjump:", ctickjump, " tickjump:", tickjump)
|
|
# if extra & 1:
|
|
# set_my_position_onlyground(pos)
|
|
# if tickjump == ctickjump:
|
|
# print("Already Jump")
|
|
# return
|
|
# tickjump = ctickjump - 1
|
|
# $CharacterMovementComponent.jump()
|
|
# print("Go Jump")
|
|
# elif tickjump == 0 or $GroundCheck.is_colliding():
|
|
# print("No Jump")
|
|
# tickjump = 0
|
|
# set_my_position(pos)
|
|
# set_my_rotation(rot)
|
|
# else:
|
|
# #set_my_position_onlyground(pos)
|
|
# print("Always Jump")
|
|
# tick = ctick
|
|
|
|
#
|
|
#func set_my_position(pos:Vector3):
|
|
# self.set_global_position(pos)
|
|
#
|
|
#
|
|
#func set_my_position_onlyground(pos:Vector3):
|
|
# var newpos:Vector3 = Vector3(pos.x, self.get_global_position().y ,pos.z)
|
|
# self.set_global_position(newpos)
|
|
#
|
|
#func set_my_rotation(rot:Vector3):
|
|
# save_rot = rot
|
|
# print("Update ->" + str(rot), " ", $Armature.get_global_rotation())
|
|
# $Armature.set_global_rotation(rot)
|
|
# #$CharacterMovementComponent.input_direction = rot
|
|
# pass
|
|
|
|
|
|
func set_current_camera() -> void:
|
|
$SpringArm3D/Camera3D.set_current(true)
|
|
|
|
|
|
func set_id(value:int) -> void:
|
|
$PlayerNetworkingComponent.set_id(value)
|
|
|
|
|
|
func set_activate() -> void:
|
|
#$AnimationTree.set_active(true)
|
|
#$AnimationTree.set("parameters/Transition/transition_request","Idle")
|
|
set_process(true)
|
|
|
|
|
|
#func set_animation_tree_blend_positions(input_vector: Vector2) -> void:
|
|
# #print("Blend Position: ", input_vector)
|
|
# $AnimationTree.set("parameters/Idle/blend_position", input_vector)
|
|
# $AnimationTree.set("parameters/Walk/blend_position", input_vector)
|
|
|
|
|
|
func get_comment() -> String:
|
|
return $PlayerNetworkingComponent.get_comment() + \
|
|
" -> " + str($PlayerNetworkingComponent.is_local_authority()) + \
|
|
" -> " + str($CharacterMovementComponent.input_direction)
|
|
|
|
|
|
func get_animation() -> String:
|
|
return $AnimationTree.get("parameters/Transition/current_state") + \
|
|
", " + str($AnimationTree.get("parameters/InAir/blend_amount"))
|
|
# return $AnimationTree.get("parameters/Transition/current_state") + \
|
|
# ", " + str($AnimationTree.get("parameters/InAir/blend_amount")) + \
|
|
# ", active:" + str($AnimationTree.is_active()) + \
|
|
# ", " + str($AnimationPlayer.get_current_animation()) + \
|
|
# ", " + str($AnimationPlayer.get_current_animation_position()) + \
|
|
# ", " + str($AnimationPlayer.get_autoplay()) + \
|
|
# ", playing:" + str($AnimationPlayer.is_playing()) + \
|
|
# ", " + str($AnimationTree.get("parameters/Transition/current_state")) + \
|
|
# ", " + str($AnimationTree.get("parameters/Transition/current_index"))
|
|
|
|
|
|
func get_gait() -> String:
|
|
return Global.GAIT.keys()[$CharacterMovementComponent.gait]
|
|
|
|
|
|
func get_stance() -> String:
|
|
return Global.STANCE.keys()[$CharacterMovementComponent.stance]
|
|
|
|
|
|
func get_rotation_mode() -> String:
|
|
return Global.ROTATION_MODE.keys()[$CharacterMovementComponent.rotation_mode]
|
|
|
|
|
|
func get_movement_state() -> String:
|
|
return Global.MOVEMENT_STATE.keys()[$CharacterMovementComponent.movement_state]
|
|
|