msx off level indicator

This commit is contained in:
pennyrigate 2023-12-26 21:42:56 -05:00
parent 403924d210
commit a07d929c4c
7 changed files with 48 additions and 3 deletions

View file

@ -3,14 +3,20 @@ extends Camera2D
onready var player = get_tree().get_nodes_in_group("player").front()
onready var last_sector = Game.get_sector(player.global_position + Vector2(0.0, -5.0))
onready var off_level_indicator = $OffLevelIndicator
onready var msx_off_level_indicator = $MsxOffLevelIndicator
#Scroll direction
export var scroll_h = true
export var scroll_v = false
export var respawn_h = true
var msx = null
var msx_exists = false
func _ready():
set_as_toplevel(true)
Game.current_sector = last_sector
if get_tree().get_nodes_in_group("msx").size() > 0:
msx = get_tree().get_nodes_in_group("msx").pop_front()
msx_exists = true
func _process(delta):
# use pop_front() instead of [0] so that will not crash without player
@ -34,3 +40,18 @@ func _process(delta):
off_level_indicator.global_position.x = player.global_position.x
else:
off_level_indicator.visible = false
#Ms.X off level indicator
if msx_exists && is_instance_valid(msx):
if msx.get_parent().is_free:
msx_off_level_indicator.visible = true
var msx_sector = Game.get_sector(msx.global_position)
if msx_sector == current_sector:
msx_off_level_indicator.anims.play("onscreen")
if msx_sector < current_sector:
msx_off_level_indicator.position.y = msx.global_position.y
msx_off_level_indicator.position.x = 16
msx_off_level_indicator.anims.play("left")
if msx_sector > current_sector:
msx_off_level_indicator.position.y = msx.global_position.y
msx_off_level_indicator.position.x = 240
msx_off_level_indicator.anims.play("right")