diff --git a/MainMenu.tscn b/MainMenu.tscn index 4454a5e..259d34b 100644 --- a/MainMenu.tscn +++ b/MainMenu.tscn @@ -48,14 +48,13 @@ script = ExtResource("1_haaol") [node name="ColorRect" type="ColorRect" parent="."] material = SubResource("ShaderMaterial_a5tps") +layout_mode = 0 offset_right = 3840.0 offset_bottom = 2160.0 [node name="PlaylistGenerator" parent="." instance=ExtResource("2_2rg1o")] visible = false layout_mode = 1 -rounds_per_match = null -matches_per_year = null [node name="MarginContainer" type="MarginContainer" parent="."] layout_mode = 1 diff --git a/Tools/playlist_generator.tscn b/Tools/playlist_generator.tscn index e4b4c32..ed2a931 100644 --- a/Tools/playlist_generator.tscn +++ b/Tools/playlist_generator.tscn @@ -1,12 +1,33 @@ -[gd_scene load_steps=7 format=3 uid="uid://dpootbr7qgac1"] +[gd_scene load_steps=12 format=3 uid="uid://dpootbr7qgac1"] [ext_resource type="Script" path="res://scripts/playlist_generator.gd" id="1_qvqs2"] +[ext_resource type="Script" path="res://level_resource.gd" id="2_3l62y"] [ext_resource type="Resource" uid="uid://dn3t7wcoumlm3" path="res://GameModes/standard.tres" id="2_85uje"] [ext_resource type="Script" path="res://gamemode.gd" id="2_hoyqc"] [ext_resource type="Resource" uid="uid://bs8yvpq65yh3w" path="res://GameModes/cookie_mode.tres" id="3_t0mxh"] [ext_resource type="Resource" uid="uid://dlvhtdmtln3bb" path="res://GameModes/do_not_get_hit.tres" id="4_8wht4"] [ext_resource type="Resource" uid="uid://u32xafejp3rq" path="res://GameModes/standard_stam_regen.tres" id="6_vu1w7"] +[sub_resource type="Resource" id="Resource_3w5k4"] +script = ExtResource("2_3l62y") +level_name = "Blockout 2" +level_path = "res://assets/blockout_2.tscn" + +[sub_resource type="Resource" id="Resource_t5q6w"] +script = ExtResource("2_3l62y") +level_name = "Test Level 2v2" +level_path = "res://scenes/test_level_2v2.tscn" + +[sub_resource type="Resource" id="Resource_2pkld"] +script = ExtResource("2_3l62y") +level_name = "Enemy Working Scene" +level_path = "res://scenes/enemy_working_scene.tscn" + +[sub_resource type="Resource" id="Resource_13n7k"] +script = ExtResource("2_3l62y") +level_name = "Arena of Money" +level_path = "res://scenes/Arena of Money.tscn" + [node name="Playlist Generator" type="Control"] layout_mode = 3 anchors_preset = 15 @@ -17,7 +38,5 @@ grow_vertical = 2 script = ExtResource("1_qvqs2") generate_playlist_now = null checksum_test = null -maps_in_rotation = Array[String](["res://assets/blockout_2.tscn", "res://scenes/enemy_working_scene.tscn", "res://scenes/test_level_2v2.tscn", "res://scenes/Arena of Money.tscn"]) +maps_in_rotation = Array[ExtResource("2_3l62y")]([SubResource("Resource_3w5k4"), SubResource("Resource_t5q6w"), SubResource("Resource_2pkld"), SubResource("Resource_13n7k")]) gamemodes_in_rotation = Array[ExtResource("2_hoyqc")]([ExtResource("2_85uje"), ExtResource("3_t0mxh"), ExtResource("4_8wht4"), ExtResource("6_vu1w7")]) -rounds_per_match = null -matches_per_year = null diff --git a/level_resource.gd b/level_resource.gd new file mode 100644 index 0000000..14f556d --- /dev/null +++ b/level_resource.gd @@ -0,0 +1,6 @@ +extends Resource +class_name level_resource + +@export var level_name : String = "New Level" +@export var level_path : String = "Path" +@export var level_image : Texture2D diff --git a/scripts/pause_menu.gd b/scripts/pause_menu.gd index a533419..61d9b92 100644 --- a/scripts/pause_menu.gd +++ b/scripts/pause_menu.gd @@ -50,4 +50,4 @@ func resume(): func _on_main_menu_pressed() -> void: - get_tree().change_scene_to_file("res://scenes/asset_checker.tscn") + get_tree().change_scene_to_file("res://MainMenu.tscn") diff --git a/scripts/playlist_generator.gd b/scripts/playlist_generator.gd index 6717f7f..4fb0c35 100644 --- a/scripts/playlist_generator.gd +++ b/scripts/playlist_generator.gd @@ -4,7 +4,7 @@ extends Node @export var generate_playlist_now = false @export var checksum_test = false @export var load_playlist_from_file = false -@export var maps_in_rotation : Array[String] = [] +@export var maps_in_rotation : Array[level_resource] = [] @export var gamemodes_in_rotation : Array[gamemode]= [] @export var levels_per_round : int = 5 @export var rounds_per_match : int = 3 @@ -33,14 +33,16 @@ func generate_playlist() -> void: for i in rounds_per_match: var round = [] for x in levels_per_round: + var gamemode_path = gamemodes_in_rotation.pick_random().resource_path + var level_selection = maps_in_rotation.pick_random() var level_details = { - "map" : maps_in_rotation.pick_random(), - "gamemode" : gamemodes_in_rotation.pick_random() + "level_path" : level_selection.level_path, + "level_name" : level_selection.level_name, + "gamemode_path" : gamemode_path } round.append(level_details) matches.append(round) playlist.append(matches) - print("PLAYLIST : ", playlist) save_playlist(playlist) generate_playlist_now = false @@ -75,9 +77,6 @@ func load_playlist(): GameGlobals.playlist_test = playlist GameGlobals.current_match = playlist[0] file.close() - print("PLAYLIST: ") - print("------------------------------------------------------------------------------------") - print(playlist) else: print("no data saved, generating new playlist...") generate_playlist() diff --git a/scripts/playlist_loader.gd b/scripts/playlist_loader.gd index 68da27a..13b5134 100644 --- a/scripts/playlist_loader.gd +++ b/scripts/playlist_loader.gd @@ -2,6 +2,7 @@ extends Node @onready var playlist_generator: Control = $"../Playlist Generator" +var round_id = 2 var portals = [] # Called when the node enters the scene tree for the first time. @@ -11,15 +12,10 @@ func _ready() -> void: for i in get_tree().current_scene.get_children(): if i.is_in_group("portal"): portals.append(i) - print("PORTALS") var id = 0 for i in portals: - i.scene_path = str(GameGlobals.current_match[0][id]["map"]) - i.scene_name = str(GameGlobals.current_match[0][id]["map"]) + i.scene_path = str(GameGlobals.current_match[round_id][id]["level_path"]) + i.scene_name = str(GameGlobals.current_match[round_id][id]["level_name"]) + i.level_gamemode = load(GameGlobals.current_match[round_id][id]["gamemode_path"]) id += 1 - - -# Called every frame. 'delta' is the elapsed time since the previous frame. -func _process(delta: float) -> void: - print("CURRENT MATCH ",GameGlobals.current_match[0]) diff --git a/scripts/save_load.gd b/scripts/save_load.gd index 5573956..3b235d7 100644 --- a/scripts/save_load.gd +++ b/scripts/save_load.gd @@ -47,7 +47,7 @@ func load_persistent_data(): print("No file found...") func save_user_data(): - var user_save_path = str("user://user_",str(GameGlobals.user_id),"_",str(GameGlobals.all_user_leaderboards[GameGlobals.user_id][GameGlobals.last_leaderboard_id]),"_leaderboard","_data.save") + var user_save_path = str("user://user_",str(GameGlobals.user_id),"_",str(GameGlobals.all_user_leaderboards[GameGlobals.user_id][GameGlobals.last_leaderboard_id]),"_data.save") var file = FileAccess.open(user_save_path, FileAccess.WRITE) #cache data before saving and creating checksum in case it changes between data saving and checksum generating @@ -80,7 +80,7 @@ func save_user_data(): file.close() func check_user_data_exists(): - var user_save_path = str("user://user_",str(GameGlobals.user_id),"_",str(GameGlobals.all_user_leaderboards[GameGlobals.user_id][GameGlobals.last_leaderboard_id]),"_leaderboard","_data.save") + var user_save_path = str("user://user_",str(GameGlobals.user_id),"_",str(GameGlobals.all_user_leaderboards[GameGlobals.user_id][GameGlobals.last_leaderboard_id]),"_data.save") if FileAccess.file_exists(user_save_path): return true else: @@ -88,7 +88,7 @@ func check_user_data_exists(): func load_user_data(): print("ALL LEADERBOARDS: ",GameGlobals.all_user_leaderboards[0][0]) - var user_save_path = str("user://user_",str(GameGlobals.user_id),"_",str(GameGlobals.all_user_leaderboards[GameGlobals.user_id][GameGlobals.last_leaderboard_id]),"_leaderboard","_data.save") + var user_save_path = str("user://user_",str(GameGlobals.user_id),"_",str(GameGlobals.all_user_leaderboards[GameGlobals.user_id][GameGlobals.last_leaderboard_id]),"_data.save") if FileAccess.file_exists(user_save_path): var file = FileAccess.open(user_save_path, FileAccess.READ) GameGlobals.last_hit_path = file.get_var() @@ -146,7 +146,7 @@ func load_user_data(): func save_game_data(level_name): var level_control = get_tree().current_scene var player = level_control.player - var game_save_path = str("user://",GameGlobals.current_leaderboard_name,"_",level_name,"_gamesave.save") + var game_save_path = str("user://user_",str(GameGlobals.user_id),"_",str(GameGlobals.all_user_leaderboards[GameGlobals.user_id][GameGlobals.last_leaderboard_id]),"_last_level","_data.save") var file = FileAccess.open(game_save_path, FileAccess.WRITE) #ASSIGN DATA TO VARIABLES data_cleared = false @@ -170,7 +170,7 @@ func save_game_data(level_name): file.close() func check_save_game_exists(level_name): - var game_save_path = str("user://",GameGlobals.leaderboard_name,"_",level_name,"_gamesave.save") + var game_save_path = str("user://user_",str(GameGlobals.user_id),"_",str(GameGlobals.all_user_leaderboards[GameGlobals.user_id][GameGlobals.last_leaderboard_id]),"_last_level","_data.save") if FileAccess.file_exists(game_save_path): return true else: @@ -179,7 +179,8 @@ func check_save_game_exists(level_name): func load_save_game_data(level_name): var level_control = get_tree().current_scene var player = level_control.player - var game_save_path = str("user://",GameGlobals.leaderboard_name,"_",level_name,"_gamesave.save") + var game_save_path = str("user://user_",str(GameGlobals.user_id),"_",str(GameGlobals.all_user_leaderboards[GameGlobals.user_id][GameGlobals.last_leaderboard_id]),"_last_level","_data.save") + print("GAME SAVE PATH : ",game_save_path) if FileAccess.file_exists(game_save_path): var file = FileAccess.open(game_save_path, FileAccess.READ)