Files
gymkhana-actions/docs/api/ESCMovable.md
Dennis Ploeger 56bf96da8c Checked all FIXMEs and TODOs (#353)
Co-authored-by: Dennis Ploeger <develop@dieploegers.de>
Co-authored-by: dploeger <dploeger@users.noreply.github.com>
2021-08-02 21:23:57 +02:00

3.3 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, interval: Array) -> bool

Returns true if given angle is inside the interval given by a starting_angle and the size.

Parameters

  • angle: Angle to test
  • interval: Array of size 2, containing the starting angle, and the size of interval eg: [90, 40] corresponds to angle between 90° and 130°

set_angle

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

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.