forked from team-sg/hero-mark-2
initial work on palette selection + load palette from save
This commit is contained in:
parent
dc8408c646
commit
923b638cca
5 changed files with 163 additions and 0 deletions
32
menus/palette_select.gd
Normal file
32
menus/palette_select.gd
Normal file
|
@ -0,0 +1,32 @@
|
|||
extends Control
|
||||
|
||||
|
||||
export (Array, String) var titles: Array
|
||||
export (Array, Texture) var palettes: Array
|
||||
export var previous_screen: PackedScene
|
||||
|
||||
|
||||
var current_palette: int = 0
|
||||
|
||||
|
||||
onready var sg: TextureRect = $SG
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
assert(titles.size() == palettes.size(), "titles and palettes arrays are not same size")
|
||||
sg.material.set_shader_param("palette", palettes[current_palette])
|
||||
$"%PaletteTitle".text = titles[current_palette]
|
||||
|
||||
|
||||
func _input(event: InputEvent) -> void:
|
||||
if event.is_action_pressed("ui_cancel"):
|
||||
SceneManager.current_scene = previous_screen.instance()
|
||||
return
|
||||
elif event.is_action_pressed("ui_left"):
|
||||
current_palette -= 1
|
||||
elif event.is_action_pressed("ui_right"):
|
||||
current_palette += 1
|
||||
|
||||
current_palette = posmod(current_palette, palettes.size())
|
||||
sg.material.set_shader_param("palette", palettes[current_palette])
|
||||
$"%PaletteTitle".text = titles[current_palette]
|
Loading…
Add table
Add a link
Reference in a new issue