bcp de characters
This commit is contained in:
@@ -0,0 +1,67 @@
|
||||
extends CharacterBody3D
|
||||
|
||||
@onready var sprite_label: Sprite3D = $Sprite3D
|
||||
@onready var label: Label = $Sprite3D/SubViewport/Label
|
||||
@onready var area_3d: Area3D = $Area3D
|
||||
|
||||
@onready var anim_player: AnimationPlayer = $character/AnimationPlayer
|
||||
@onready var camera_zoom: Camera3D = $CameraZoom
|
||||
@onready var player: CharacterBody3D = $"../../Player"
|
||||
@onready var area_3d_zoom: Area3D = $Area3DZoom
|
||||
|
||||
@onready var indicateur_tarte: CSGTorus3D = $"../indicateur_tarte"
|
||||
@onready var client_spawner: Node3D = $"../client_spawner"
|
||||
|
||||
var zoom_active : bool = false
|
||||
|
||||
func zoom_dialog():
|
||||
label.text = Sauvegarde.get_text("coco" + str( 0 ) )
|
||||
camera_zoom.make_current()
|
||||
zoom_active = true
|
||||
anim_player.play("RootAction")
|
||||
|
||||
func _process(delta: float) -> void:
|
||||
if zoom_active:
|
||||
camera_zoom.position.z += 25 * delta
|
||||
if camera_zoom.position.z > -4:
|
||||
zoom_active = false
|
||||
await get_tree().create_timer( 6 ).timeout
|
||||
player.camera.make_current()
|
||||
player.can_play = true
|
||||
|
||||
anim_player.stop()
|
||||
|
||||
|
||||
func dialog():
|
||||
rotation.y = deg_to_rad( 180 )
|
||||
anim_player.play("RootAction")
|
||||
|
||||
for i in range(1,3):
|
||||
label.text = Sauvegarde.get_text("coco" + str( i ) )
|
||||
await get_tree().create_timer( 1 ).timeout
|
||||
|
||||
|
||||
rotation.y = deg_to_rad( -90 )
|
||||
anim_player.stop()
|
||||
sprite_label.visible = false
|
||||
player.set_dialog_mode()
|
||||
|
||||
indicateur_tarte.visible = true
|
||||
client_spawner.start_timer()
|
||||
await get_tree().create_timer( 10 ).timeout
|
||||
indicateur_tarte.visible = false
|
||||
|
||||
|
||||
func _on_area_3d_body_entered(body: Node3D) -> void:
|
||||
if body.is_in_group("player"):
|
||||
sprite_label.visible = true
|
||||
player.set_dialog_mode( global_position, 0)
|
||||
dialog()
|
||||
area_3d.queue_free()
|
||||
|
||||
|
||||
func _on_area_3d_zoom_body_entered(body: Node3D) -> void:
|
||||
if body.is_in_group("player"):
|
||||
player.can_play = false
|
||||
area_3d_zoom.queue_free()
|
||||
zoom_dialog()
|
||||
Reference in New Issue
Block a user