Attempt2/src/actors/players/playerE/PlayerE.gd

50 lines
1.6 KiB
GDScript3

extends Actor
export var player_number: int = 1
# Declare member variables here. Examples:
# var a = 2
# var b = "text"
# Called when the node enters the scene tree for the first time.
func _ready():
PlayerInfo.player_health = $Health_Component.health
# Set initial player position in world.
global_position = LevelInfo.player_start_position
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta):
PlayerInfo.player_position = global_position.round()
func hit_Receiver(damage):
$Hurtbox_Component.set_hurtbox(false)
$Health_Component.take_damage(damage)
if $Health_Component.health > 0:
movement_state_machine.change_to_known_state('hurt')
PlayerInfo.player_health = $Health_Component.health
if PlayerInfo.player_health <= 0:
return
yield( get_tree().create_timer(2 + movement_state_machine.get_state_reference('hurt').timeout_seconds), "timeout")
$Hurtbox_Component.set_hurtbox(true)
func touch_the_thing(the_thing: Interactable) -> bool:
print("You see! a THING...", the_thing.name)
if the_thing is HealthPickup:
# Do some healthy stuff.
the_thing.trigger_interaction()
return false
if the_thing is LevelTransition:
if movement_state_machine.current_state.name != 'enter_right':
if the_thing._transition_type == 'door_right':
# Make sure we're facing right.
transform.x.x = movement_component.RIGHT
movement_state_machine.change_to_known_state('enter_right')
elif the_thing._transition_type == 'door_left':
transform.x.x = movement_component.LEFT
movement_state_machine.change_to_known_state('enter_right')
the_thing.trigger_interaction()
return true