-
Notifications
You must be signed in to change notification settings - Fork 1
/
TallGrass.gd
37 lines (26 loc) · 1.08 KB
/
TallGrass.gd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
extends Node2D
onready var anim_player = $AnimationPlayer
const grass_overlay_texture = preload("res://Assets/Grass/stepped_tall_grass.png")
const GrassStepEffect = preload("res://GrassStepEffect.tscn")
var grass_overlay: TextureRect = null
var player_inside: bool = false
func _ready():
var player = find_parent("CurrentScene").get_children().back().find_node("Player")
player.connect("player_moving_signal", self, "player_exiting_grass")
player.connect("player_stopped_signal", self, "player_in_grass")
func player_exiting_grass():
player_inside = false
if is_instance_valid(grass_overlay):
grass_overlay.queue_free()
func player_in_grass():
if player_inside == true:
var grass_step_effect = GrassStepEffect.instance()
grass_step_effect.position = position
get_tree().current_scene.add_child(grass_step_effect)
grass_overlay = TextureRect.new()
grass_overlay.texture = grass_overlay_texture
grass_overlay.rect_position = position
get_tree().current_scene.add_child(grass_overlay)
func _on_Area2D_body_entered(body):
player_inside = true
anim_player.play("Stepped")