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