mirror of
https://github.com/HarmonyHoney/tiny_crate.git
synced 2026-01-23 02:34:53 +00:00
StartMenu save slot improvements! (-;
now with a display to show Player colors + gems & notes!
This commit is contained in:
parent
7e1a59fc8f
commit
a3ed3e3f45
6 changed files with 485 additions and 62 deletions
|
|
@ -61,9 +61,7 @@ func _ready():
|
|||
if Engine.editor_hint: return
|
||||
|
||||
# palette
|
||||
var parts = ["hat", "skin", "suit", "eye", "shoe"]
|
||||
for i in 5:
|
||||
sprite_mat.set_shader_param(parts[i] + "_swap", Shared.palette[Shared.player_colors[clamp(i, 0, 3)]])
|
||||
set_palette(sprite_mat)
|
||||
|
||||
node_sprite.flip_h = randf() > 0.5
|
||||
|
||||
|
|
@ -78,6 +76,12 @@ func _ready():
|
|||
Shared.node_camera_game.node_target = self
|
||||
Shared.node_camera_game.pos_target_offset = Vector2(4, 4)
|
||||
|
||||
static func set_palette(_mat, _colors := Shared.player_colors, _palette := Shared.palette):
|
||||
if _mat is ShaderMaterial:
|
||||
var parts = ["hat", "skin", "suit", "eye", "shoe"]
|
||||
for i in 5:
|
||||
_mat.set_shader_param(parts[i] + "_swap", _palette[_colors[clamp(i, 0, 3)]])
|
||||
|
||||
# holding pickup
|
||||
func just_moved():
|
||||
if is_pickup:
|
||||
|
|
|
|||
|
|
@ -30,6 +30,7 @@ var save_path := "user://save/"
|
|||
var save_filename := "box.save"
|
||||
var scene_dict := {}
|
||||
var replays := {}
|
||||
var is_save := false
|
||||
|
||||
var window_scale := 1
|
||||
var view_size := Vector2(228, 128)
|
||||
|
|
@ -60,11 +61,6 @@ var preset_palettes = [[7, 13, 6, 3], [8, 0, 11, 13], [11, 7, 9, 0], [12, 1, 7,
|
|||
|
||||
func _ready():
|
||||
print("Shared._ready(): ")
|
||||
randomize()
|
||||
|
||||
# create player
|
||||
player_colors = preset_palettes[randi() % preset_palettes.size()]
|
||||
username = generate_username()
|
||||
|
||||
# ghosts
|
||||
for i in ghost_count:
|
||||
|
|
@ -86,7 +82,7 @@ func _ready():
|
|||
for i in dir_list(map_dir):
|
||||
scene_dict[map_dir + i] = load(map_dir + i)
|
||||
maps.append(i.split(".")[0])
|
||||
print("maps: ", maps, " ", maps.size(), " ", scene_dict)
|
||||
#print("maps: ", maps, " ", maps.size(), " ", scene_dict)
|
||||
|
||||
# make save folders
|
||||
var dir = Directory.new()
|
||||
|
|
@ -148,7 +144,8 @@ func wipe_finish():
|
|||
|
||||
func change_map():
|
||||
count_score()
|
||||
save()
|
||||
if is_save:
|
||||
save()
|
||||
if is_win:
|
||||
save_replays()
|
||||
|
||||
|
|
@ -157,6 +154,7 @@ func change_map():
|
|||
get_tree().change_scene_to(scene_dict[scene_path])
|
||||
|
||||
is_win = false
|
||||
is_save = false
|
||||
is_level_select = scene_path == level_select_path
|
||||
is_in_game = scene_path.begins_with(map_dir)
|
||||
map_name = "" if !is_in_game else scene_path.split("/")[-1].trim_suffix(".tscn")
|
||||
|
|
@ -247,14 +245,17 @@ func load_slots():
|
|||
|
||||
func load_save(_slot = save_slot, _dict := {}):
|
||||
save_slot = clamp(_slot, 0, 2)
|
||||
var save_string = save_path + str(save_slot) + "/" + save_filename
|
||||
|
||||
save_data[save_slot] = {}
|
||||
var s = save_data[save_slot]
|
||||
save_maps = {}
|
||||
if _dict.empty():
|
||||
var l = load_file(save_path + str(save_slot) + "/" + save_filename)
|
||||
var l = load_file(save_string)
|
||||
if l: _dict = JSON.parse(l).result
|
||||
else: print(save_string + " not found")
|
||||
|
||||
print(_slot, " / ", _dict)
|
||||
if !_dict.empty():
|
||||
if _dict.has("username"):
|
||||
username = _dict["username"]
|
||||
|
|
@ -271,8 +272,6 @@ func load_save(_slot = save_slot, _dict := {}):
|
|||
count_score()
|
||||
s["gems"] = count_gems
|
||||
s["notes"] = count_notes
|
||||
|
||||
print(save_path + save_filename + " not found")
|
||||
|
||||
func load_replays():
|
||||
replays = {}
|
||||
|
|
@ -310,6 +309,7 @@ func unlock():
|
|||
|
||||
func win():
|
||||
is_win = true
|
||||
is_save = true
|
||||
|
||||
# map
|
||||
if !save_maps.has(map_name):
|
||||
|
|
@ -366,6 +366,7 @@ func die():
|
|||
Leaderboard.submit_score("death", 1, map_name)
|
||||
print("you died")
|
||||
|
||||
|
||||
# look into a folder and return a list of filenames without file extension
|
||||
func dir_list(path : String):
|
||||
var array = []
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@ var is_input := true
|
|||
export var blink_on := 0.3
|
||||
export var blink_off := 0.2
|
||||
var blink_clock := 0.0
|
||||
export var color_blink : PoolColorArray = ["ff004d", "ff77a8"]
|
||||
|
||||
func _ready():
|
||||
# setup rows & columns
|
||||
|
|
@ -99,7 +100,7 @@ func _input(event):
|
|||
elif cursor_y == rows.size() - 1:
|
||||
if is_jump:
|
||||
is_input = false
|
||||
Shared.wipe_scene(Shared.main_menu_path)
|
||||
Shared.wipe_scene(Shared.level_select_path)
|
||||
Shared.username = name_label.text.to_lower()
|
||||
Shared.player_colors = colors.duplicate()
|
||||
Audio.play("menu_bell", 0.8, 1.2)
|
||||
|
|
@ -126,10 +127,7 @@ func move_cursor(_x := cursor_x, _y = cursor_y):
|
|||
|
||||
func set_color(_row := cursor_y - 1, _col = colors[cursor_y - 1]):
|
||||
colors[_row] = wrapi(_col, 0, Shared.palette.size())
|
||||
|
||||
var params = [["hat"], ["skin"], ["suit"], ["eye", "shoe"]]
|
||||
for i in params[_row]:
|
||||
player_mat.set_shader_param(i + "_swap", Shared.palette[colors[_row]])
|
||||
Player.set_palette(player_mat, colors)
|
||||
|
||||
func fill_swatches(_row := cursor_y -1):
|
||||
var offset = [-2, -1, 0, 1, 2]
|
||||
|
|
@ -141,4 +139,4 @@ func _physics_process(delta):
|
|||
blink_clock -= delta
|
||||
if blink_clock < -blink_off:
|
||||
blink_clock = blink_on
|
||||
cursors_parent.modulate = Color("ff004d" if blink_clock > 0.0 else "ff77a8")
|
||||
cursors_parent.modulate = color_blink[int(blink_clock > 0.0)]
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
[gd_scene load_steps=18 format=2]
|
||||
[gd_scene load_steps=24 format=2]
|
||||
|
||||
[ext_resource path="res://src/stage/SolidTileMap.tscn" type="PackedScene" id=1]
|
||||
[ext_resource path="res://media/image/player_swap.png" type="Texture" id=2]
|
||||
|
|
@ -9,8 +9,107 @@
|
|||
[ext_resource path="res://media/font/QuinqueFive.ttf" type="DynamicFontData" id=7]
|
||||
[ext_resource path="res://src/menu/Creator.gd" type="Script" id=8]
|
||||
[ext_resource path="res://media/font/ThaleahFat.ttf" type="DynamicFontData" id=9]
|
||||
[ext_resource path="res://media/image/crate_tiles.png" type="Texture" id=10]
|
||||
[ext_resource path="res://media/image/bricks.png" type="Texture" id=11]
|
||||
[ext_resource path="res://media/image/solid_bricks.png" type="Texture" id=12]
|
||||
[ext_resource path="res://media/image/8pixel.png" type="Texture" id=13]
|
||||
|
||||
[sub_resource type="Shader" id=8]
|
||||
[sub_resource type="TileSet" id=18]
|
||||
0/name = "solid_bricks.png 0"
|
||||
0/texture = ExtResource( 12 )
|
||||
0/tex_offset = Vector2( 0, 0 )
|
||||
0/modulate = Color( 0.745098, 0.0705882, 0.313726, 1 )
|
||||
0/region = Rect2( 0, 0, 16, 8 )
|
||||
0/tile_mode = 2
|
||||
0/autotile/icon_coordinate = Vector2( 0, 0 )
|
||||
0/autotile/tile_size = Vector2( 8, 8 )
|
||||
0/autotile/spacing = 0
|
||||
0/autotile/occluder_map = [ ]
|
||||
0/autotile/navpoly_map = [ ]
|
||||
0/autotile/priority_map = [ ]
|
||||
0/autotile/z_index_map = [ ]
|
||||
0/occluder_offset = Vector2( 0, 0 )
|
||||
0/navigation_offset = Vector2( 0, 0 )
|
||||
0/shape_offset = Vector2( 0, 0 )
|
||||
0/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||
0/shape_one_way = false
|
||||
0/shape_one_way_margin = 0.0
|
||||
0/shapes = [ ]
|
||||
0/z_index = 0
|
||||
1/name = "8pixel.png 1"
|
||||
1/texture = ExtResource( 13 )
|
||||
1/tex_offset = Vector2( 0, 0 )
|
||||
1/modulate = Color( 1, 0, 1, 0.33 )
|
||||
1/region = Rect2( 0, 0, 8, 8 )
|
||||
1/tile_mode = 0
|
||||
1/occluder_offset = Vector2( 0, 0 )
|
||||
1/navigation_offset = Vector2( 0, 0 )
|
||||
1/shape_offset = Vector2( 0, 0 )
|
||||
1/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||
1/shape_one_way = false
|
||||
1/shape_one_way_margin = 0.0
|
||||
1/shapes = [ ]
|
||||
1/z_index = 0
|
||||
|
||||
[sub_resource type="TileSet" id=19]
|
||||
4/name = "bricks.png 4"
|
||||
4/texture = ExtResource( 11 )
|
||||
4/tex_offset = Vector2( 0, 0 )
|
||||
4/modulate = Color( 0.372549, 0.341176, 0.309804, 1 )
|
||||
4/region = Rect2( 0, 0, 40, 8 )
|
||||
4/tile_mode = 2
|
||||
4/autotile/icon_coordinate = Vector2( 0, 0 )
|
||||
4/autotile/tile_size = Vector2( 8, 8 )
|
||||
4/autotile/spacing = 0
|
||||
4/autotile/occluder_map = [ ]
|
||||
4/autotile/navpoly_map = [ ]
|
||||
4/autotile/priority_map = [ ]
|
||||
4/autotile/z_index_map = [ ]
|
||||
4/occluder_offset = Vector2( 0, 0 )
|
||||
4/navigation_offset = Vector2( 0, 0 )
|
||||
4/shape_offset = Vector2( 0, 0 )
|
||||
4/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||
4/shape_one_way = false
|
||||
4/shape_one_way_margin = 0.0
|
||||
4/shapes = [ ]
|
||||
4/z_index = 0
|
||||
5/name = "crate_tiles.png 5"
|
||||
5/texture = ExtResource( 10 )
|
||||
5/tex_offset = Vector2( 0, 0 )
|
||||
5/modulate = Color( 0, 0.529412, 0.317647, 1 )
|
||||
5/region = Rect2( 0, 16, 24, 8 )
|
||||
5/tile_mode = 2
|
||||
5/autotile/icon_coordinate = Vector2( 0, 0 )
|
||||
5/autotile/tile_size = Vector2( 8, 8 )
|
||||
5/autotile/spacing = 0
|
||||
5/autotile/occluder_map = [ ]
|
||||
5/autotile/navpoly_map = [ ]
|
||||
5/autotile/priority_map = [ ]
|
||||
5/autotile/z_index_map = [ ]
|
||||
5/occluder_offset = Vector2( 0, 0 )
|
||||
5/navigation_offset = Vector2( 0, 0 )
|
||||
5/shape_offset = Vector2( 0, 0 )
|
||||
5/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||
5/shape_one_way = false
|
||||
5/shape_one_way_margin = 0.0
|
||||
5/shapes = [ ]
|
||||
5/z_index = 0
|
||||
6/name = "crate_tiles.png 6"
|
||||
6/texture = ExtResource( 10 )
|
||||
6/tex_offset = Vector2( 0, 0 )
|
||||
6/modulate = Color( 0.670588, 0.321569, 0.211765, 1 )
|
||||
6/region = Rect2( 0, 24, 8, 8 )
|
||||
6/tile_mode = 0
|
||||
6/occluder_offset = Vector2( 0, 0 )
|
||||
6/navigation_offset = Vector2( 0, 0 )
|
||||
6/shape_offset = Vector2( 0, 0 )
|
||||
6/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 )
|
||||
6/shape_one_way = false
|
||||
6/shape_one_way_margin = 0.0
|
||||
6/shapes = [ ]
|
||||
6/z_index = 0
|
||||
|
||||
[sub_resource type="Shader" id=20]
|
||||
code = "shader_type canvas_item;
|
||||
|
||||
uniform vec4 hat : hint_color = vec4(0.0);
|
||||
|
|
@ -49,7 +148,7 @@ void fragment(){
|
|||
}"
|
||||
|
||||
[sub_resource type="ShaderMaterial" id=17]
|
||||
shader = SubResource( 8 )
|
||||
shader = SubResource( 20 )
|
||||
shader_param/hat = Color( 1, 0, 0, 1 )
|
||||
shader_param/eye = Color( 0, 1, 0, 1 )
|
||||
shader_param/skin = Color( 0, 0, 1, 1 )
|
||||
|
|
@ -139,10 +238,12 @@ font_data = ExtResource( 7 )
|
|||
script = ExtResource( 8 )
|
||||
|
||||
[node name="SolidTileMap" parent="." instance=ExtResource( 1 )]
|
||||
tile_set = SubResource( 18 )
|
||||
tile_data = PoolIntArray( 458729, 0, 1, 458730, 0, 1, 458731, 0, 1, 458732, 0, 1, 458733, 536870912, 0, 458734, 0, 1, 458735, 0, 0, 458736, 0, 1, 458737, 536870912, 0, 458738, 536870912, 1, 524274, 0, 0, 589810, 536870912, 1, 655346, 536870912, 0 )
|
||||
|
||||
[node name="DetailTileMap" parent="." instance=ExtResource( 4 )]
|
||||
z_index = -11
|
||||
tile_set = SubResource( 19 )
|
||||
tile_data = PoolIntArray( 65516, 5, 0, 65517, 5, 0, 65518, 5, 0, 65519, 5, 0, 65520, 5, 0, 131052, 5, 0, 131053, 5, 0, 131054, 5, 0, 131055, 5, 0, 131056, 5, 0, 196588, 1073741829, 2, 196589, 5, 0, 196590, 5, 0, 196591, 5, 0, 196592, 1610612741, 2, 262125, 1073741829, 2, 262126, 5, 0, 262127, 1610612741, 2, 327662, 5, 1, 393198, 5, 1, 524273, 1073741829, 2, 524275, -1610612731, 2, 589811, -1610612731, 0, 655347, -1610612731, 0 )
|
||||
|
||||
[node name="GameCamera" parent="." instance=ExtResource( 3 )]
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ onready var main_menu := $Control/Main
|
|||
onready var quit_menu := $Control/Quit
|
||||
onready var slot_menu := $Control/Slot
|
||||
onready var menu_stuff := main_menu.get_children()
|
||||
onready var cursor_node := $Control/Cursor
|
||||
|
||||
var cursor := 0 setget set_cursor
|
||||
var menu_items := []
|
||||
|
|
@ -15,14 +16,47 @@ var is_input = true
|
|||
export var blink_on := 0.3
|
||||
export var blink_off := 0.2
|
||||
var blink_clock := 0.0
|
||||
export var cursor_offset := Vector2.ZERO
|
||||
export var cursor_expand := Vector2.ZERO
|
||||
|
||||
export var color_select := Color.white
|
||||
export var color_deselect := Color(1,1,1, 0.7)
|
||||
export var color_blink : PoolColorArray = ["ff004d", "ff77a8"]
|
||||
|
||||
func _enter_tree():
|
||||
randomize()
|
||||
Shared.player_colors = Shared.preset_palettes[randi() % Shared.preset_palettes.size()]
|
||||
|
||||
func _ready():
|
||||
switch_menu("main", true)
|
||||
|
||||
Shared.load_slots()
|
||||
var smc = slot_menu.get_children()
|
||||
for i in smc.size():
|
||||
smc[i].text = str(Shared.save_data[i]["gems"]) + " win"
|
||||
var slot_items := slot_menu.get_children()
|
||||
for i in 3:
|
||||
var si = slot_items[i]
|
||||
var sd = Shared.save_data[i]
|
||||
var gem_label = si.get_node("Label0")
|
||||
var note_label = si.get_node("Label1")
|
||||
var note_image = si.get_node("Image1")
|
||||
var player_mat = si.get_node("Player/Sprite").material
|
||||
|
||||
if sd.empty():
|
||||
for y in si.get_children():
|
||||
var is_name : bool = y.name == "Label0"
|
||||
y.visible = is_name
|
||||
if is_name: y.text = "new run"
|
||||
else:
|
||||
if sd.has("gems"):
|
||||
gem_label.text = str(sd["gems"])
|
||||
|
||||
if sd.has("notes") and int(sd["notes"]) > 0:
|
||||
note_label.text = str(sd["notes"])
|
||||
else:
|
||||
note_label.visible = false
|
||||
note_image.visible = false
|
||||
|
||||
if sd.has("player_colors"):
|
||||
Player.set_palette(player_mat, sd["player_colors"])
|
||||
|
||||
func _input(event):
|
||||
if !is_input:
|
||||
|
|
@ -43,11 +77,14 @@ func _physics_process(delta):
|
|||
blink_clock -= delta
|
||||
if blink_clock < -blink_off:
|
||||
blink_clock = blink_on
|
||||
menu_stuff[cursor].modulate = Color("ff004d" if blink_clock > 0.0 else "ff77a8")
|
||||
cursor_node.modulate = color_blink[int(blink_clock > 0.0)]
|
||||
|
||||
func write_menu():
|
||||
cursor_node.rect_global_position = menu_stuff[cursor].rect_global_position + cursor_offset
|
||||
cursor_node.rect_size = menu_stuff[cursor].rect_size + cursor_expand
|
||||
|
||||
for i in menu_items.size():
|
||||
menu_stuff[i].modulate = Color("ff004d") if i == cursor else Color("83769c")
|
||||
menu_stuff[i].modulate = color_select if i == cursor else color_deselect
|
||||
|
||||
func menu_select(tag : String = menu_items[cursor].to_lower()):
|
||||
match tag:
|
||||
|
|
@ -76,9 +113,12 @@ func menu_select(tag : String = menu_items[cursor].to_lower()):
|
|||
"no":
|
||||
switch_menu("main")
|
||||
"slot":
|
||||
Shared.load_slot(cursor)
|
||||
Shared.wipe_scene(Shared.level_select_path)
|
||||
is_input = false
|
||||
if Shared.save_data[cursor].empty():
|
||||
Shared.wipe_scene(Shared.creator_path)
|
||||
else:
|
||||
Shared.load_slot(cursor)
|
||||
Shared.wipe_scene(Shared.level_select_path)
|
||||
Audio.play("menu_play", 0.9, 1.1)
|
||||
|
||||
func switch_menu(arg, silent := false):
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
[gd_scene load_steps=25 format=2]
|
||||
[gd_scene load_steps=31 format=2]
|
||||
|
||||
[ext_resource path="res://media/image/creator.png" type="Texture" id=1]
|
||||
[ext_resource path="res://media/image/crate_tiles.png" type="Texture" id=2]
|
||||
|
|
@ -18,6 +18,8 @@
|
|||
[ext_resource path="res://media/image/menu.png" type="Texture" id=16]
|
||||
[ext_resource path="res://media/image/solid_bricks.png" type="Texture" id=17]
|
||||
[ext_resource path="res://media/image/bricks.png" type="Texture" id=18]
|
||||
[ext_resource path="res://media/image/player_swap.png" type="Texture" id=19]
|
||||
[ext_resource path="res://media/image/diamond8.png" type="Texture" id=20]
|
||||
[ext_resource path="res://media/font/QuinqueFive.ttf" type="DynamicFontData" id=24]
|
||||
|
||||
[sub_resource type="DynamicFont" id=3]
|
||||
|
|
@ -25,6 +27,83 @@ extra_spacing_top = -3
|
|||
extra_spacing_bottom = -3
|
||||
font_data = ExtResource( 6 )
|
||||
|
||||
[sub_resource type="Shader" id=8]
|
||||
code = "shader_type canvas_item;
|
||||
|
||||
uniform vec4 hat : hint_color = vec4(0.0);
|
||||
uniform vec4 eye : hint_color = vec4(0.0);
|
||||
uniform vec4 skin : hint_color = vec4(0.0);
|
||||
uniform vec4 suit : hint_color = vec4(0.0);
|
||||
uniform vec4 shoe : hint_color = vec4(0.0);
|
||||
|
||||
uniform vec4 hat_swap : hint_color = vec4(0.0);
|
||||
uniform vec4 eye_swap : hint_color = vec4(0.0);
|
||||
uniform vec4 skin_swap : hint_color = vec4(0.0);
|
||||
uniform vec4 suit_swap : hint_color = vec4(0.0);
|
||||
uniform vec4 shoe_swap : hint_color = vec4(0.0);
|
||||
|
||||
|
||||
void fragment(){
|
||||
vec4 col = texture(TEXTURE, UV);
|
||||
|
||||
if (col == hat){
|
||||
col = hat_swap;
|
||||
}
|
||||
else if (col == eye){
|
||||
col = eye_swap;
|
||||
}
|
||||
else if (col == skin){
|
||||
col = skin_swap;
|
||||
}
|
||||
else if (col == suit){
|
||||
col = suit_swap;
|
||||
}
|
||||
else if (col == shoe){
|
||||
col = shoe_swap;
|
||||
}
|
||||
|
||||
COLOR = col;
|
||||
}"
|
||||
|
||||
[sub_resource type="ShaderMaterial" id=12]
|
||||
shader = SubResource( 8 )
|
||||
shader_param/hat = Color( 1, 0, 0, 1 )
|
||||
shader_param/eye = Color( 0, 1, 0, 1 )
|
||||
shader_param/skin = Color( 0, 0, 1, 1 )
|
||||
shader_param/suit = Color( 1, 1, 0, 1 )
|
||||
shader_param/shoe = Color( 1, 0, 1, 1 )
|
||||
shader_param/hat_swap = Color( 0.160784, 0.678431, 1, 1 )
|
||||
shader_param/eye_swap = Color( 0.780392, 0, 1, 1 )
|
||||
shader_param/skin_swap = Color( 0.87451, 1, 0, 1 )
|
||||
shader_param/suit_swap = Color( 0, 1, 0.180392, 1 )
|
||||
shader_param/shoe_swap = Color( 1, 0.117647, 0, 1 )
|
||||
|
||||
[sub_resource type="ShaderMaterial" id=11]
|
||||
shader = SubResource( 8 )
|
||||
shader_param/hat = Color( 1, 0, 0, 1 )
|
||||
shader_param/eye = Color( 0, 1, 0, 1 )
|
||||
shader_param/skin = Color( 0, 0, 1, 1 )
|
||||
shader_param/suit = Color( 1, 1, 0, 1 )
|
||||
shader_param/shoe = Color( 1, 0, 1, 1 )
|
||||
shader_param/hat_swap = Color( 1, 0.92549, 0.152941, 1 )
|
||||
shader_param/eye_swap = Color( 1, 0.8, 0.666667, 1 )
|
||||
shader_param/skin_swap = Color( 0.670588, 0.321569, 0.211765, 1 )
|
||||
shader_param/suit_swap = Color( 0.160784, 0.678431, 1, 1 )
|
||||
shader_param/shoe_swap = Color( 1, 0.8, 0.666667, 1 )
|
||||
|
||||
[sub_resource type="ShaderMaterial" id=10]
|
||||
shader = SubResource( 8 )
|
||||
shader_param/hat = Color( 1, 0, 0, 1 )
|
||||
shader_param/eye = Color( 0, 1, 0, 1 )
|
||||
shader_param/skin = Color( 0, 0, 1, 1 )
|
||||
shader_param/suit = Color( 1, 1, 0, 1 )
|
||||
shader_param/shoe = Color( 1, 0, 1, 1 )
|
||||
shader_param/hat_swap = Color( 0.85098, 0, 0.662745, 1 )
|
||||
shader_param/eye_swap = Color( 0.0901961, 0.482353, 0.788235, 1 )
|
||||
shader_param/skin_swap = Color( 1, 0.8, 0.666667, 1 )
|
||||
shader_param/suit_swap = Color( 0.87451, 0.14902, 0.14902, 1 )
|
||||
shader_param/shoe_swap = Color( 0.0901961, 0.482353, 0.788235, 1 )
|
||||
|
||||
[sub_resource type="DynamicFont" id=4]
|
||||
size = 48
|
||||
extra_spacing_top = -11
|
||||
|
|
@ -35,7 +114,7 @@ font_data = ExtResource( 5 )
|
|||
size = 5
|
||||
font_data = ExtResource( 24 )
|
||||
|
||||
[sub_resource type="TileSet" id=6]
|
||||
[sub_resource type="TileSet" id=13]
|
||||
0/name = "solid_bricks.png 0"
|
||||
0/texture = ExtResource( 17 )
|
||||
0/tex_offset = Vector2( 0, 0 )
|
||||
|
|
@ -72,7 +151,7 @@ font_data = ExtResource( 24 )
|
|||
1/shapes = [ ]
|
||||
1/z_index = 0
|
||||
|
||||
[sub_resource type="TileSet" id=7]
|
||||
[sub_resource type="TileSet" id=14]
|
||||
4/name = "bricks.png 4"
|
||||
4/texture = ExtResource( 18 )
|
||||
4/tex_offset = Vector2( 0, 0 )
|
||||
|
|
@ -136,6 +215,9 @@ script = ExtResource( 3 )
|
|||
__meta__ = {
|
||||
"_edit_horizontal_guides_": [ ]
|
||||
}
|
||||
cursor_offset = Vector2( -2, 0 )
|
||||
cursor_expand = Vector2( 4, 0 )
|
||||
color_deselect = Color( 1, 1, 1, 0.701961 )
|
||||
|
||||
[node name="Control" type="Control" parent="."]
|
||||
margin_left = -24.0
|
||||
|
|
@ -143,7 +225,15 @@ margin_top = 12.0
|
|||
margin_right = 204.0
|
||||
margin_bottom = 140.0
|
||||
|
||||
[node name="Cursor" type="ColorRect" parent="Control"]
|
||||
modulate = Color( 1, 0, 0.301961, 1 )
|
||||
margin_left = 5.0
|
||||
margin_top = 37.0
|
||||
margin_right = 47.0
|
||||
margin_bottom = 47.0
|
||||
|
||||
[node name="Main" type="VBoxContainer" parent="Control"]
|
||||
visible = false
|
||||
margin_left = 4.0
|
||||
margin_top = 32.0
|
||||
margin_right = 68.0
|
||||
|
|
@ -153,9 +243,10 @@ alignment = 1
|
|||
|
||||
[node name="Item" type="HBoxContainer" parent="Control/Main"]
|
||||
margin_top = 4.0
|
||||
margin_right = 64.0
|
||||
margin_right = 43.0
|
||||
margin_bottom = 16.0
|
||||
rect_min_size = Vector2( 0, 12 )
|
||||
size_flags_horizontal = 0
|
||||
custom_constants/separation = 2
|
||||
|
||||
[node name="Image" type="Control" parent="Control/Main/Item"]
|
||||
|
|
@ -181,9 +272,10 @@ uppercase = true
|
|||
|
||||
[node name="Item4" type="HBoxContainer" parent="Control/Main"]
|
||||
margin_top = 21.0
|
||||
margin_right = 64.0
|
||||
margin_right = 42.0
|
||||
margin_bottom = 33.0
|
||||
rect_min_size = Vector2( 0, 12 )
|
||||
size_flags_horizontal = 0
|
||||
custom_constants/separation = 2
|
||||
|
||||
[node name="Image" type="Control" parent="Control/Main/Item4"]
|
||||
|
|
@ -209,9 +301,10 @@ uppercase = true
|
|||
|
||||
[node name="Item2" type="HBoxContainer" parent="Control/Main"]
|
||||
margin_top = 38.0
|
||||
margin_right = 64.0
|
||||
margin_right = 58.0
|
||||
margin_bottom = 50.0
|
||||
rect_min_size = Vector2( 0, 12 )
|
||||
size_flags_horizontal = 0
|
||||
custom_constants/separation = 2
|
||||
|
||||
[node name="Image" type="Control" parent="Control/Main/Item2"]
|
||||
|
|
@ -238,9 +331,10 @@ uppercase = true
|
|||
|
||||
[node name="Item3" type="HBoxContainer" parent="Control/Main"]
|
||||
margin_top = 55.0
|
||||
margin_right = 64.0
|
||||
margin_right = 58.0
|
||||
margin_bottom = 67.0
|
||||
rect_min_size = Vector2( 0, 12 )
|
||||
size_flags_horizontal = 0
|
||||
custom_constants/separation = 2
|
||||
|
||||
[node name="Image" type="Control" parent="Control/Main/Item3"]
|
||||
|
|
@ -275,51 +369,236 @@ custom_constants/separation = 9
|
|||
alignment = 1
|
||||
|
||||
[node name="Label" type="Label" parent="Control/Quit"]
|
||||
margin_top = 23.0
|
||||
margin_right = 69.0
|
||||
margin_bottom = 31.0
|
||||
margin_top = 21.0
|
||||
margin_right = 42.0
|
||||
margin_bottom = 29.0
|
||||
rect_min_size = Vector2( 42, 0 )
|
||||
size_flags_horizontal = 0
|
||||
custom_fonts/font = SubResource( 3 )
|
||||
text = "quit?"
|
||||
align = 1
|
||||
valign = 1
|
||||
uppercase = true
|
||||
|
||||
[node name="No" type="Label" parent="Control/Quit"]
|
||||
margin_top = 40.0
|
||||
margin_right = 69.0
|
||||
margin_bottom = 48.0
|
||||
margin_top = 38.0
|
||||
margin_right = 18.0
|
||||
margin_bottom = 50.0
|
||||
rect_min_size = Vector2( 18, 12 )
|
||||
size_flags_horizontal = 0
|
||||
custom_fonts/font = SubResource( 3 )
|
||||
text = "no"
|
||||
align = 1
|
||||
valign = 1
|
||||
uppercase = true
|
||||
|
||||
[node name="Slot" type="VBoxContainer" parent="Control"]
|
||||
margin_left = 12.0
|
||||
margin_left = 4.0
|
||||
margin_top = 32.0
|
||||
margin_right = 81.0
|
||||
margin_right = 64.0
|
||||
margin_bottom = 104.0
|
||||
custom_constants/separation = 9
|
||||
custom_constants/separation = 5
|
||||
alignment = 1
|
||||
|
||||
[node name="1" type="Label" parent="Control/Slot"]
|
||||
margin_top = 15.0
|
||||
margin_right = 69.0
|
||||
margin_bottom = 23.0
|
||||
[node name="0" type="HBoxContainer" parent="Control/Slot"]
|
||||
margin_top = 13.0
|
||||
margin_right = 60.0
|
||||
margin_bottom = 25.0
|
||||
rect_min_size = Vector2( 0, 12 )
|
||||
size_flags_horizontal = 4
|
||||
custom_constants/separation = 2
|
||||
|
||||
[node name="Player" type="Control" parent="Control/Slot/0"]
|
||||
margin_right = 8.0
|
||||
margin_bottom = 12.0
|
||||
rect_min_size = Vector2( 8, 12 )
|
||||
|
||||
[node name="Sprite" type="Sprite" parent="Control/Slot/0/Player"]
|
||||
material = SubResource( 12 )
|
||||
position = Vector2( 4, 2 )
|
||||
texture = ExtResource( 19 )
|
||||
hframes = 7
|
||||
region_rect = Rect2( 40, 0, 8, 24 )
|
||||
|
||||
[node name="Image0" type="Control" parent="Control/Slot/0"]
|
||||
margin_left = 10.0
|
||||
margin_right = 18.0
|
||||
margin_bottom = 12.0
|
||||
rect_min_size = Vector2( 8, 8 )
|
||||
|
||||
[node name="Sprite" type="Sprite" parent="Control/Slot/0/Image0"]
|
||||
modulate = Color( 1, 0.92549, 0.152941, 1 )
|
||||
position = Vector2( 4, 6 )
|
||||
texture = ExtResource( 20 )
|
||||
|
||||
[node name="Label0" type="Label" parent="Control/Slot/0"]
|
||||
margin_left = 20.0
|
||||
margin_top = 2.0
|
||||
margin_right = 34.0
|
||||
margin_bottom = 10.0
|
||||
custom_fonts/font = SubResource( 3 )
|
||||
text = "27 win"
|
||||
text = "11"
|
||||
uppercase = true
|
||||
|
||||
[node name="2" type="Label" parent="Control/Slot"]
|
||||
margin_top = 32.0
|
||||
margin_right = 69.0
|
||||
margin_bottom = 40.0
|
||||
[node name="Image1" type="Control" parent="Control/Slot/0"]
|
||||
margin_left = 36.0
|
||||
margin_right = 44.0
|
||||
margin_bottom = 12.0
|
||||
rect_min_size = Vector2( 8, 8 )
|
||||
|
||||
[node name="Sprite" type="Sprite" parent="Control/Slot/0/Image1"]
|
||||
modulate = Color( 0.160784, 0.678431, 1, 1 )
|
||||
position = Vector2( 0, 2 )
|
||||
texture = ExtResource( 16 )
|
||||
centered = false
|
||||
hframes = 4
|
||||
vframes = 4
|
||||
frame = 5
|
||||
|
||||
[node name="Label1" type="Label" parent="Control/Slot/0"]
|
||||
margin_left = 46.0
|
||||
margin_top = 2.0
|
||||
margin_right = 60.0
|
||||
margin_bottom = 10.0
|
||||
custom_fonts/font = SubResource( 3 )
|
||||
text = "3 win"
|
||||
text = "22"
|
||||
uppercase = true
|
||||
|
||||
[node name="3" type="Label" parent="Control/Slot"]
|
||||
margin_top = 49.0
|
||||
margin_right = 69.0
|
||||
margin_bottom = 57.0
|
||||
[node name="1" type="HBoxContainer" parent="Control/Slot"]
|
||||
margin_top = 30.0
|
||||
margin_right = 60.0
|
||||
margin_bottom = 42.0
|
||||
rect_min_size = Vector2( 0, 12 )
|
||||
size_flags_horizontal = 4
|
||||
custom_constants/separation = 2
|
||||
|
||||
[node name="Player" type="Control" parent="Control/Slot/1"]
|
||||
margin_right = 8.0
|
||||
margin_bottom = 12.0
|
||||
rect_min_size = Vector2( 8, 12 )
|
||||
|
||||
[node name="Sprite" type="Sprite" parent="Control/Slot/1/Player"]
|
||||
material = SubResource( 11 )
|
||||
position = Vector2( 4, 2 )
|
||||
texture = ExtResource( 19 )
|
||||
hframes = 7
|
||||
region_rect = Rect2( 40, 0, 8, 24 )
|
||||
|
||||
[node name="Image0" type="Control" parent="Control/Slot/1"]
|
||||
margin_left = 10.0
|
||||
margin_right = 18.0
|
||||
margin_bottom = 12.0
|
||||
rect_min_size = Vector2( 8, 8 )
|
||||
|
||||
[node name="Sprite" type="Sprite" parent="Control/Slot/1/Image0"]
|
||||
modulate = Color( 1, 0.92549, 0.152941, 1 )
|
||||
position = Vector2( 4, 6 )
|
||||
texture = ExtResource( 20 )
|
||||
|
||||
[node name="Sprite2" type="Sprite" parent="Control/Slot/1/Image0"]
|
||||
visible = false
|
||||
position = Vector2( 0, 2 )
|
||||
texture = ExtResource( 16 )
|
||||
centered = false
|
||||
hframes = 4
|
||||
vframes = 4
|
||||
frame = 6
|
||||
|
||||
[node name="Label0" type="Label" parent="Control/Slot/1"]
|
||||
margin_left = 20.0
|
||||
margin_top = 2.0
|
||||
margin_right = 34.0
|
||||
margin_bottom = 10.0
|
||||
custom_fonts/font = SubResource( 3 )
|
||||
text = "new game"
|
||||
text = "51"
|
||||
uppercase = true
|
||||
|
||||
[node name="Image1" type="Control" parent="Control/Slot/1"]
|
||||
margin_left = 36.0
|
||||
margin_right = 44.0
|
||||
margin_bottom = 12.0
|
||||
rect_min_size = Vector2( 8, 8 )
|
||||
|
||||
[node name="Sprite" type="Sprite" parent="Control/Slot/1/Image1"]
|
||||
modulate = Color( 0.160784, 0.678431, 1, 1 )
|
||||
position = Vector2( 0, 2 )
|
||||
texture = ExtResource( 16 )
|
||||
centered = false
|
||||
hframes = 4
|
||||
vframes = 4
|
||||
frame = 5
|
||||
|
||||
[node name="Label1" type="Label" parent="Control/Slot/1"]
|
||||
margin_left = 46.0
|
||||
margin_top = 2.0
|
||||
margin_right = 60.0
|
||||
margin_bottom = 10.0
|
||||
custom_fonts/font = SubResource( 3 )
|
||||
text = "73"
|
||||
uppercase = true
|
||||
|
||||
[node name="2" type="HBoxContainer" parent="Control/Slot"]
|
||||
margin_top = 47.0
|
||||
margin_right = 60.0
|
||||
margin_bottom = 59.0
|
||||
rect_min_size = Vector2( 0, 12 )
|
||||
size_flags_horizontal = 4
|
||||
custom_constants/separation = 2
|
||||
|
||||
[node name="Player" type="Control" parent="Control/Slot/2"]
|
||||
margin_right = 8.0
|
||||
margin_bottom = 12.0
|
||||
rect_min_size = Vector2( 8, 12 )
|
||||
|
||||
[node name="Sprite" type="Sprite" parent="Control/Slot/2/Player"]
|
||||
material = SubResource( 10 )
|
||||
position = Vector2( 4, 2 )
|
||||
texture = ExtResource( 19 )
|
||||
hframes = 7
|
||||
region_rect = Rect2( 40, 0, 8, 24 )
|
||||
|
||||
[node name="Image0" type="Control" parent="Control/Slot/2"]
|
||||
margin_left = 10.0
|
||||
margin_right = 18.0
|
||||
margin_bottom = 12.0
|
||||
rect_min_size = Vector2( 8, 8 )
|
||||
|
||||
[node name="Sprite" type="Sprite" parent="Control/Slot/2/Image0"]
|
||||
modulate = Color( 1, 0.92549, 0.152941, 1 )
|
||||
position = Vector2( 4, 6 )
|
||||
texture = ExtResource( 20 )
|
||||
|
||||
[node name="Label0" type="Label" parent="Control/Slot/2"]
|
||||
margin_left = 20.0
|
||||
margin_top = 2.0
|
||||
margin_right = 34.0
|
||||
margin_bottom = 10.0
|
||||
custom_fonts/font = SubResource( 3 )
|
||||
text = "48"
|
||||
uppercase = true
|
||||
|
||||
[node name="Image1" type="Control" parent="Control/Slot/2"]
|
||||
margin_left = 36.0
|
||||
margin_right = 44.0
|
||||
margin_bottom = 12.0
|
||||
rect_min_size = Vector2( 8, 8 )
|
||||
|
||||
[node name="Sprite" type="Sprite" parent="Control/Slot/2/Image1"]
|
||||
modulate = Color( 0.160784, 0.678431, 1, 1 )
|
||||
position = Vector2( 0, 2 )
|
||||
texture = ExtResource( 16 )
|
||||
centered = false
|
||||
hframes = 4
|
||||
vframes = 4
|
||||
frame = 5
|
||||
|
||||
[node name="Label1" type="Label" parent="Control/Slot/2"]
|
||||
margin_left = 46.0
|
||||
margin_top = 2.0
|
||||
margin_right = 60.0
|
||||
margin_bottom = 10.0
|
||||
custom_fonts/font = SubResource( 3 )
|
||||
text = "96"
|
||||
uppercase = true
|
||||
|
||||
[node name="Header" type="Label" parent="Control"]
|
||||
|
|
@ -353,12 +632,12 @@ valign = 2
|
|||
[node name="Stage" type="Node2D" parent="."]
|
||||
|
||||
[node name="SolidTileMap" parent="Stage" instance=ExtResource( 11 )]
|
||||
tile_set = SubResource( 6 )
|
||||
tile_set = SubResource( 13 )
|
||||
tile_data = PoolIntArray( 393222, 0, 0, 393223, 0, 1, 393224, 0, 0, 393225, 0, 1, 393226, 536870912, 0, 458758, 0, 1, 524294, 0, 0, 589830, 0, 1, 655366, 536870912, 0, 720902, 0, 1, 786438, 0, 0, 786442, 0, 0, 786443, 0, 1, 786444, 536870912, 0, 786448, 0, 0, 786449, 0, 1, 786450, 536870912, 0, 786451, 0, 1, 786452, 0, 0, 786453, 0, 1, 786454, 536870912, 0 )
|
||||
|
||||
[node name="DetailTileMap" parent="Stage" instance=ExtResource( 8 )]
|
||||
z_index = -11
|
||||
tile_set = SubResource( 7 )
|
||||
tile_set = SubResource( 14 )
|
||||
tile_data = PoolIntArray( 131093, 536870916, 3, 131094, 4, 1, 131095, 4, 0, 131096, 4, 3, 196624, 5, 2, 196625, 5, 0, 196626, -1610612731, 2, 196630, 536870916, 0, 196631, 4, 1, 196632, 4, 0, 262154, 536870916, 3, 262155, 536870916, 0, 262156, 4, 3, 262159, 5, 2, 262160, 5, 0, 262161, 5, 0, 262162, 5, 0, 262163, -1610612731, 2, 262166, 4, 1, 262167, 4, 0, 262168, 4, 1, 327685, 5, 2, 327686, 5, 0, 327687, 5, 0, 327688, 5, 0, 327689, 536870917, 2, 327690, 536870916, 0, 327691, 4, 1, 327692, 4, 0, 327695, -1610612731, 0, 327696, 5, 0, 327697, 5, 0, 327698, 5, 0, 327699, -1073741819, 0, 327701, 536870916, 3, 327702, 4, 0, 327703, 4, 1, 327704, 536870916, 2, 393221, -1073741819, 0, 393227, 4, 1, 393228, 4, 0, 393229, 4, 3, 393231, -1073741819, 2, 393232, 5, 0, 393233, 5, 0, 393234, 5, 0, 393235, -536870907, 2, 393237, 536870916, 0, 393238, 4, 1, 393239, 536870916, 0, 458757, -1073741819, 2, 458759, -1610612731, 2, 458762, 4, 1, 458763, 536870916, 0, 458764, 4, 1, 458765, 4, 0, 458768, -1073741819, 2, 458769, 5, 0, 458770, 1610612741, 2, 458773, 4, 2, 458774, 4, 0, 458775, 4, 1, 458776, 4, 3, 524295, -1610612731, 0, 524298, 4, 2, 524299, 4, 1, 524300, 536870916, 0, 524301, 4, 1, 524302, 4, 3, 524305, 6, 0, 524310, 4, 2, 524311, 536870916, 0, 524312, 536870916, 2, 589831, -1610612730, 0, 589832, -1610612731, 0, 589836, 4, 2, 589837, 4, 1, 589838, 4, 0, 589839, 4, 3, 589841, 6, 0, 589842, -536870907, 2, 655367, -1610612731, 0, 655373, 536870916, 3, 655374, 4, 1, 655375, 536870916, 0, 655377, 6, 0, 720901, -2147483643, 2, 720903, -536870907, 2, 720905, 5, 2, 720906, 5, 0, 720907, 5, 0, 720908, 536870917, 2, 720909, 536870916, 3, 720910, 536870916, 0, 720911, 536870916, 2, 720912, 5, 2, 720913, 6, 0, 720914, 5, 0, 720915, 536870917, 2, 720917, 5, 2, 720918, 5, 0, 720919, 536870917, 2, 786437, -2147483643, 0, 786441, -1073741819, 0, 786455, -1610612731, 0, 851973, -1073741819, 2, 851974, 1610612741, 2, 851977, 1073741829, 2, 851978, 5, 0, 851979, 1610612741, 2, 851982, 4, 1, 851983, 4, 0, 851987, 1073741829, 2, 851988, 5, 0, 851989, 6, 0, 851990, 5, 0, 851991, -536870907, 2, 917517, 536870916, 0, 917518, 4, 1, 917519, 536870916, 2, 917525, 1610612741, 2, 983053, 4, 2, 983054, 4, 0, 983055, 536870916, 2 )
|
||||
|
||||
[node name="GameCamera" parent="Stage" instance=ExtResource( 13 )]
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue