Files
gymkhana-actions/docs/api/ESCMovable.md
Julian Murgia c711db5d3c Add set_angle 'immediate' parameter. (#357)
* Add set_angle 'immediate' parameter.
Modified fade_in transition to happen between :setup and :ready so that :ready don't start before fade_in is finished.

* docs: Automatic update of API docs

* Same fixes in style and removed a useless test.

Co-authored-by: StraToN <StraToN@users.noreply.github.com>
2021-08-08 12:10:20 +02:00

3.7 KiB

ESCMovable

Extends: Node

Description

Node that performs the moving (walk, teleport, terrain scaling...) actions on its parent node.

Enumerations

MovableTask

const MovableTask: Dictionary = {"NONE":0,"SLIDE":2,"WALK":1}

Tasks carried out by this walkable node NONE - The node is inactive WALK - The node walks the parent somewhere SLIDE - The node slides the parent somewhere

Property Descriptions

walk_path

var walk_path: Array

Character path through the scene as calculated by the Pathfinder

path_ofs

var path_ofs: int

Current active walk path entry

walk_destination

var walk_destination: Vector2

The destination where the character should be moving to

walk_context

var walk_context: ESCWalkContext

The walk context currently carried out by this movable node

moved

var moved: bool

Wether the character was moved at all

last_deg

var last_deg: int

Angle degrees from the last position to the next

last_dir

var last_dir: int

Player Direction used to reflect the movement to the new position

last_scale

var last_scale: Vector2

The last scaling applied to the parent

pose_scale

var pose_scale: int

Wether the current direction animation is flipped

parent

var parent

Shortcut variable that references the node's parent

task

var task

Currenly running task

Method Descriptions

teleport

func teleport(target: Node) -> void

Teleports this item to the target position.

Parameters

  • target: Position2d or ESCItem to teleport to

teleport_to

func teleport_to(target: Vector2) -> void

Teleports this item to the target position.

Parameters

  • target: Vector2 target position to teleport to

walk_to

func walk_to(pos: Vector2, p_walk_context: ESCWalkContext = null) -> void

Walk to a given position

Parameters

  • pos: Position to walk to
  • p_walk_context: Walk context to use

walk_stop

func walk_stop(pos: Vector2) -> var

We have finished walking. Set the idle pose and complete

Parameters

  • pos: Final target position

update_terrain

func update_terrain(on_event_finished_name = null) -> void

Update the sprite scale and lighting

Parameters

  • on_event_finished_name: Used if this function is called from an ESC event

is_angle_in_interval

func is_angle_in_interval(angle: float, direction_angle: ESCDirectionAngle) -> bool

set_angle

func set_angle(deg: int, immediate = true) -> var

Sets character's angle and plays according animation.

Parameters

  • deg int angle to set the character
  • immediate If true, direction is switched immediately. Else, successive animations are used so that the character turns to target angle.

get_shortest_way_to_dir

func get_shortest_way_to_dir(current_dir: int, target_dir: int) -> int

 Return the shortest way to turn from a direction to another. Returned way is either: -1 (shortest way is to turn anti-clockwise) 0 (already at the right direction) 1 (clockwise).

####Parameters

  • current_dir: integer corresponding to the starting direction as defined in the attached ESCAnimationResource.directions.
  • target_dir: integer corresponding to the target direction as defined in the attached ESCAnimationResource.directions.

Returns Integer: -1 (anti-clockwise), 1 (clockwise) or 0 (no movement needed).