class_name MovementComponent extends Node export var debug_component: bool = false onready var desired_movement_vector: Vector2 = Vector2(0,0) var current_movement_state:String #Can't use floats here, switched to constants. #enum directions {UP = -1, DOWN = 1, LEFT, RIGHT} const UP = -1.0 const DOWN = 1.0 const LEFT = -1.0 const RIGHT = 1.0 func process_physics(delta): pass func process(delta): pass func process_input(event: InputEvent): pass # A Series of helper functions func go_up(): desired_movement_vector.y = UP func go_down(): desired_movement_vector.y = DOWN func go_left(): desired_movement_vector.x = LEFT func go_right(): desired_movement_vector.x = RIGHT func stop(): desired_movement_vector = Vector2(0,0) # Return the desired direction of movement for the character # in the range [-1, 1], where positive values indicate a desire # to move to the right and negative values to the left. func get_movement_direction() -> float: return desired_movement_vector.x # Return a boolean indicating if the character wants to jump func wants_jump() -> bool: return false # Return a boolean indicating if the character wants to attack func wants_shoot() -> bool: return false