src / stages / gimmicks / diamond / diamond.tscn

Diagram

Diagram

Assets

200

Overridden virtual functions

_ready

$ResetOnPlayerRestart
func _ready() -> void:
	if owner and owner.has_method(&'reset'):
		GameEvent.player_restarted.connect(reset)

Scene Tree

Signal Connections

$.:[area_entered]⇒$.
func _on_area_entered(area: Area2D) -> void:
	if available: burst(area.owner as Player)
$AnimationPlayer:[animation_finished]⇒$.
func _on_animation_player_animation_finished(anim_name: StringName) -> void:
	match anim_name:
		&'burst': idle()

Animations

Animation_kqnml

Diagram

idle (autoplay)

Diagram

burst

Diagram

Properties

Table 1. Root properties
Name Value

collision_layer

0

collision_mask

2

script

Table 2. $Sprite2D properties
Name Value

position

Vector2(37, 36)

scale

Vector2(4, 4)

texture

Diamond
Figure 1. res://assets/images/stages/gimmicks/Diamond.png

hframes

7

Table 3. $CollisionShape2D properties
Name Value

position

Vector2(37, 42)

shape

SubResource("CapsuleShape2D_34owy")

Table 4. $AnimationPlayer properties
Name Value

unique_name_in_owner

true

libraries

{ &"": SubResource("AnimationLibrary_vvw17") }

autoplay

idle

diamond.gd

extends Area2D

@export var available : bool = true


func reset() -> void:
	idle()


func idle() -> void:
	play(&'idle')


func burst(player: Player) -> void:
	play(&'burst')
	player.regain_dash_charge()


func play(key: StringName) -> void:
	%AnimationPlayer.play(key)


func _on_area_entered(area: Area2D) -> void:
	if available: burst(area.owner as Player)


func _on_animation_player_animation_finished(anim_name: StringName) -> void:
	match anim_name:
		&'burst': idle()