hero-mark-2/objects/collectibles/star.gd

35 lines
1.1 KiB
GDScript

extends Node2D
export(int, "Red", "Yellow","Green","Blue","Magenta") var color
export var value = 1
onready var sprite = $AnimatedSprite
func _ready():
#Sync all coinframes
sprite.play()
#Change color
match color:
0:
sprite.material.set_shader_param("palette",load("res://graphics/collectibles/pal_star_red.png"))
1:
sprite.material.set_shader_param("palette",load("res://graphics/collectibles/pal_star_yellow.png"))
2:
sprite.material.set_shader_param("palette",load("res://graphics/collectibles/pal_star_green.png"))
3:
sprite.material.set_shader_param("palette",load("res://graphics/collectibles/pal_star_blue.png"))
4:
sprite.material.set_shader_param("palette",load("res://graphics/collectibles/pal_star_magenta.png"))
func _on_Area2D_area_entered(area):
#Collect
if area.is_in_group("player"):
Audio.play_sound(Audio.a_star,Audio.ac_collectible)
Game.score += 100
Game.stars[color] = true
#5 Star reward
if Game.stars[0] && Game.stars[1] && Game.stars[2] && Game.stars[3] && Game.stars[4]:
Audio.play_shard_sound()
Game.shards += 1
Game.shards_collected[4] = true
Game.score += 500
queue_free()