forked from team-sg/hero-mark-2
boss variant of hud
This commit is contained in:
parent
3693b99bfc
commit
39fdf11807
4 changed files with 279 additions and 4 deletions
83
objects/hud/hud_boss.gd
Normal file
83
objects/hud/hud_boss.gd
Normal file
|
@ -0,0 +1,83 @@
|
|||
extends CanvasLayer
|
||||
|
||||
onready var gold_counter = $GoldCounter
|
||||
onready var shard_counter = $ShardCounter
|
||||
onready var red_star = $RedStar
|
||||
onready var yellow_star = $YellowStar
|
||||
onready var green_star = $GreenStar
|
||||
onready var blue_star = $BlueStar
|
||||
onready var magenta_star = $MagentaStar
|
||||
onready var score_counter = $ScoreCounter
|
||||
onready var arrow_counter = $ArrowCounter
|
||||
onready var lives_counter = $LivesCounter
|
||||
onready var high_counter = $HighCounter
|
||||
onready var time_counter = $TimeCounter
|
||||
onready var oxygen = $Oxygen
|
||||
onready var oxygen_meter = $Oxygen/OxygenMeter
|
||||
|
||||
export var song_name = "♫Music"
|
||||
export (Color) var bonus_color
|
||||
|
||||
func _ready():
|
||||
#Change graphics depending on if lives are on
|
||||
if Game.use_lives:
|
||||
$LivesHead.visible = true
|
||||
else:
|
||||
$DeathsHead.visible = true
|
||||
#Change text to song name
|
||||
var music = $Music
|
||||
music.text = song_name
|
||||
yield(get_tree(), "idle_frame")
|
||||
var tween = create_tween()
|
||||
tween.tween_property(music, "rect_position:x", 254.0 - music.rect_size.x, 1.0)
|
||||
tween.tween_interval(3.0)
|
||||
tween.tween_property(music, "rect_position:x", 256.0, 1.0)
|
||||
#Fixes frame 1 2 deaths counter
|
||||
if Game.use_lives == false:
|
||||
lives_counter.text = str(Game.deaths)
|
||||
#Show oxygen meter when underwater
|
||||
# var player = get_tree().get_nodes_in_group("player").pop_back()
|
||||
# if player.underwater == true: oxygen.visible = true
|
||||
|
||||
func shard_popup(shard_number):
|
||||
#Change text to song name
|
||||
var shard_title = $ShardTitle
|
||||
var level = LevelData.levels[Game.current_level]
|
||||
shard_title.text = "§" + str(level.shard_titles[shard_number])
|
||||
yield(get_tree(), "idle_frame")
|
||||
var tween = create_tween()
|
||||
tween.tween_property(shard_title, "rect_position:x", 254.0 - shard_title.rect_size.x, 1.0)
|
||||
tween.tween_interval(3.0)
|
||||
tween.tween_property(shard_title, "rect_position:x", 256.0, 1.0)
|
||||
|
||||
func _physics_process(delta):
|
||||
#Star Counter
|
||||
red_star.visible = Game.stars_collected[0]
|
||||
yellow_star.visible = Game.stars_collected[1]
|
||||
green_star.visible = Game.stars_collected[2]
|
||||
blue_star.visible = Game.stars_collected[3]
|
||||
magenta_star.visible = Game.stars_collected[4]
|
||||
#Arrow Counter
|
||||
arrow_counter.text = str(Game.arrows)
|
||||
##TOUCH UP LATER
|
||||
#Lives counter
|
||||
if Game.use_lives:
|
||||
lives_counter.text = str(Game.lives)
|
||||
else:
|
||||
lives_counter.text = str(Game.deaths)
|
||||
#Life bonus color
|
||||
if Game.lives == 2:
|
||||
lives_counter.modulate = bonus_color
|
||||
else:
|
||||
lives_counter.modulate = Color.white
|
||||
##Timer
|
||||
time_counter.text = Game.format_time(Game.time)
|
||||
#Time bonus counter
|
||||
if (Game.has_collection_bonus() && Game.time <= Game.get_map().target_time_100) or (!Game.has_collection_bonus() && Game.time <= Game.get_map().target_time_any):
|
||||
time_counter.modulate = bonus_color
|
||||
else:
|
||||
time_counter.modulate = Color.white
|
||||
# #Oxygen meter
|
||||
# var player = get_tree().get_nodes_in_group("player").pop_back()
|
||||
# oxygen_meter.scale.x = player.oxygen_timer.time_left
|
||||
#if oxygen_meter.scale.x > 15: oxygen_meter.scale.x = 15
|
Loading…
Add table
Add a link
Reference in a new issue