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 -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")]