shirogamis-maze/src/Main/MainMenu.gd
2021-05-27 01:44:39 -04:00

84 lines
2.0 KiB
GDScript

extends CanvasLayer
var menu_selected = 0
var item_selected = 0
var item_no = []
var item_labels = []
var level_no = global.level_list.size()
func _ready():
global.current_level = 0
global.score = 0
global.hud.clock.text = "00:00"
var menus = [$MainMenu]
for i in menus:
item_labels.append(i.get_children())
item_no.append(i.get_child_count()-1)
upd_level_sel()
color_option()
func _process(delta):
var RIGHT = Input.is_action_just_pressed("ui_right")
var UP = Input.is_action_just_pressed("ui_up")
var LEFT = Input.is_action_just_pressed("ui_left")
var DOWN = Input.is_action_just_pressed("ui_down")
var SELECT = Input.is_action_just_pressed("shoot")
var BACK = Input.is_action_just_pressed("ui_cancel")
if UP:
decolor_option()
if item_selected > 0:
item_selected -= 1
else:
item_selected = item_no[menu_selected]
color_option()
elif DOWN:
decolor_option()
if item_selected < item_no[menu_selected]:
item_selected += 1
else:
item_selected = 0
color_option()
if RIGHT:
if menu_selected == 0:
if item_selected == 0:
if global.current_level < level_no-1:
global.current_level += 1
else:
global.current_level = 0
upd_level_sel()
elif LEFT:
if menu_selected == 0:
if item_selected == 0:
if global.current_level == 0:
global.current_level = level_no-1
else:
global.current_level -=1
upd_level_sel()
if SELECT:
decolor_option()
match menu_selected:
0:
#Main menu
match item_selected:
0:
set_process(false)
global.game_root.change_scene("res://src/Main/GetReady.tscn",true,"fade_out",global.STATE.MENU)
1:
$AnimationPlayer.play("credits")
pass
color_option()
if BACK:
decolor_option()
color_option()
func decolor_option():
item_labels[menu_selected][item_selected].modulate = Color.white
func color_option():
item_labels[menu_selected][item_selected].modulate = Color.plum
func upd_level_sel():
item_labels[0][0].text = "<PLAY STAGE "+str(global.current_level+1)+": "+global.level_names[global.current_level]+">"