Reworked seed_string to seed_value

This commit is contained in:
2025-12-03 20:59:25 +03:00
parent 9b73e900f7
commit e977c8af96
15 changed files with 61 additions and 20 deletions
+1
View File
@@ -3,6 +3,7 @@ extends Node
@onready var pause_screen : Control = $PauseScreen
@onready var game_over_screen : Control = $GameOverScreen
@onready var world_generator : WorldGenerator = $WorldGenerator
func _ready() -> void:
+6 -1
View File
@@ -1,9 +1,10 @@
[gd_scene load_steps=5 format=3 uid="uid://dl7m4rqyj8mck"]
[gd_scene load_steps=6 format=3 uid="uid://dl7m4rqyj8mck"]
[ext_resource type="Script" uid="uid://1wfu4iuddo25" path="res://game/game.gd" id="1_l1rk1"]
[ext_resource type="PackedScene" uid="uid://d34nh3lc1gpb" path="res://menu/pause_screen.tscn" id="2_h7iqs"]
[ext_resource type="PackedScene" uid="uid://dgc0087kvarx6" path="res://game/passage.tscn" id="3_4fuuu"]
[ext_resource type="PackedScene" uid="uid://duxm8n62j2qt6" path="res://menu/game_over_screen.tscn" id="4_4fuuu"]
[ext_resource type="Script" uid="uid://b7e3xk14le68j" path="res://game/world/generators/world_generator.gd" id="5_dxrkv"]
[node name="Game" type="Node2D"]
script = ExtResource("1_l1rk1")
@@ -26,6 +27,10 @@ offset_top = 172.0
offset_right = 320.0
offset_bottom = 172.0
[node name="WorldGenerator" type="Node" parent="."]
script = ExtResource("5_dxrkv")
metadata/_custom_type_script = "uid://b7e3xk14le68j"
[connection signal="player_died" from="Passage" to="." method="_on_passage_player_died"]
[connection signal="continue_game" from="PauseScreen" to="." method="_on_pause_screen_continue_game"]
[connection signal="show_main_menu" from="PauseScreen" to="." method="_on_show_main_menu"]
+1 -1
View File
@@ -7,4 +7,4 @@ extends Resource
@export var inner_stages : Array[StageData] = []
@export var passages : Array[PassageData] = []
@export var seed_string : String = ""
@export var seed_value : int = 0
+1 -1
View File
@@ -2,6 +2,6 @@ class_name EnemyData
extends Resource
@export var seed_string : String = ""
@export var seed_value : int = 0
@export var spawn_point : Vector2
+1 -1
View File
@@ -7,4 +7,4 @@ extends Resource
@export var enemies : Array[EnemyData] = []
@export var seed_string : String = ""
@export var seed_value : int = 0
+1 -1
View File
@@ -5,4 +5,4 @@ extends Resource
@export var previous_passages : Array[PassageData] = []
@export var next_passages : Array[PassageData] = []
@export var seed_string : String = ""
@export var seed_value : int = 0
+1 -1
View File
@@ -4,4 +4,4 @@ extends Resource
@export var sectors : Array[SectorData] = []
@export var seed_string : String = ""
@export var seed_value : int = 0
+1 -1
View File
@@ -4,4 +4,4 @@ extends Resource
@export var areas : Array[AreaData] = []
@export var seed_string : String = ""
@export var seed_value : int = 0
+18
View File
@@ -0,0 +1,18 @@
class_name AreaGenerator
extends Node
func generate(seed_value: int) -> AreaData:
var rng := RandomNumberGenerator.new()
rng.seed = seed_value
var data : AreaData = AreaData.new()
data.seed_value = seed_value
_fill_stages(rng, data)
return data
func _fill_stages(rng: RandomNumberGenerator, data : AreaData) -> void:
pass
@@ -0,0 +1 @@
uid://bcq74qwnbylg2
@@ -0,0 +1,6 @@
[gd_scene load_steps=2 format=3 uid="uid://c4l1cv3o25lhv"]
[ext_resource type="Script" uid="uid://bcq74qwnbylg2" path="res://game/world/generators/area_generator.gd" id="1_hahgo"]
[node name="AreaGenerator" type="Node"]
script = ExtResource("1_hahgo")
+17 -10
View File
@@ -1,20 +1,27 @@
class_name WorldGenerator
extends Node
func generate(seed_string: String) -> WorldData:
@onready var area_generator : AreaGenerator = $AreaGenerator
const MAX_AREA_COUNT = 3
func generate(seed_value: int) -> WorldData:
var rng := RandomNumberGenerator.new()
rng.seed = seed_value
var data : WorldData = WorldData.new()
data.seed_value = seed_value
data.seed_string = seed_string
_fill_areas(data)
_fill_areas(rng, data)
return data
func _fill_areas(data : WorldData) -> void:
const MAX_AREA_COUNT = 3
var rng := RandomNumberGenerator.new()
rng.seed = hash(data.seed_string)
func _fill_areas(rng: RandomNumberGenerator, data : WorldData) -> void:
for i in MAX_AREA_COUNT:
pass
var seed_value := rng.randi()
var area := area_generator.generate(seed_value)
data.areas.append(area)
+4 -1
View File
@@ -1,6 +1,9 @@
[gd_scene load_steps=2 format=3 uid="uid://ggf76ayl53bb"]
[gd_scene load_steps=3 format=3 uid="uid://ggf76ayl53bb"]
[ext_resource type="Script" uid="uid://b7e3xk14le68j" path="res://game/world/generators/world_generator.gd" id="1_c1jvo"]
[ext_resource type="PackedScene" uid="uid://c4l1cv3o25lhv" path="res://game/world/generators/area_generator.tscn" id="2_exe4n"]
[node name="WorldGenerator" type="Node"]
script = ExtResource("1_c1jvo")
[node name="AreaGenerator" parent="." instance=ExtResource("2_exe4n")]
+1 -1
View File
@@ -22,4 +22,4 @@ ascent=0
descent=0
fallbacks=[]
compress=true
scaling_mode=2
scaling_mode=1
+1 -1
View File
@@ -22,4 +22,4 @@ ascent=0
descent=0
fallbacks=[]
compress=true
scaling_mode=2
scaling_mode=1