extends StateAnimatedActor export (NodePath) var idle_node export (NodePath) var fall_node export (NodePath) var attack_node export (NodePath) var landing_node onready var idle_state: State = get_node(idle_node) onready var fall_state: State = get_node(fall_node) onready var attack_state: State = get_node(attack_node) #onready var landing_mod: StateModifier = get_node(landing_node) export var jump_force: float = 200.0 func enter() -> void: # var landing_mod_index = modifier_stack_ref.rfind(landing_mod) # if landing_mod_index != -1: # #print("You're Supposed to be dead!?: ", landing_mod_index) # modifier_stack_ref.remove(landing_mod_index) # if modifier_stack_ref.has(landing_mod): # print("Jump from Landing Mod at: ", modifier_stack_ref.rfind(landing_mod)) .enter() # Apply initial jump velocity on state enter move_component.velocity.y = -jump_force func process_physics(delta: float) -> State: if move_component.velocity.y > 0: return fall_state if move_component.wants_shoot(): return attack_state # First allow horizontal movement. move_actor_as_desired(delta) #Flip the character before tha actual move maybe. if move_component.get_movement_direction() != 0.0: parent.transform.x.x = move_component.get_movement_direction() if parent.is_on_floor(): return idle_state return null