Added data classes
This commit is contained in:
@@ -0,0 +1,10 @@
|
||||
class_name AreaData
|
||||
extends Resource
|
||||
|
||||
|
||||
@export var first_stage : StageData
|
||||
@export var last_stage : StageData
|
||||
@export var inner_stages : Array[StageData] = []
|
||||
@export var passages : Array[PassageData] = []
|
||||
|
||||
@export var seed_string : String = ""
|
||||
@@ -0,0 +1 @@
|
||||
uid://chsdac455jkm4
|
||||
@@ -0,0 +1,7 @@
|
||||
class_name EnemyData
|
||||
extends Resource
|
||||
|
||||
|
||||
@export var seed_string : String = ""
|
||||
|
||||
@export var spawn_point : Vector2
|
||||
@@ -0,0 +1 @@
|
||||
uid://dsg7ml2ebhs3w
|
||||
@@ -0,0 +1,10 @@
|
||||
class_name PassageData
|
||||
extends Resource
|
||||
|
||||
|
||||
@export var previous_sector : SectorData
|
||||
@export var next_sector : SectorData
|
||||
|
||||
@export var enemies : Array[EnemyData] = []
|
||||
|
||||
@export var seed_string : String = ""
|
||||
@@ -0,0 +1 @@
|
||||
uid://bvqvn7slf5f82
|
||||
@@ -0,0 +1,8 @@
|
||||
class_name SectorData
|
||||
extends Resource
|
||||
|
||||
|
||||
@export var previous_passages : Array[PassageData] = []
|
||||
@export var next_passages : Array[PassageData] = []
|
||||
|
||||
@export var seed_string : String = ""
|
||||
@@ -0,0 +1 @@
|
||||
uid://ru80bu5nt6rs
|
||||
@@ -0,0 +1,7 @@
|
||||
class_name StageData
|
||||
extends Resource
|
||||
|
||||
|
||||
@export var sectors : Array[SectorData] = []
|
||||
|
||||
@export var seed_string : String = ""
|
||||
@@ -0,0 +1 @@
|
||||
uid://donl4fqb825et
|
||||
@@ -0,0 +1,7 @@
|
||||
class_name WorldData
|
||||
extends Resource
|
||||
|
||||
|
||||
@export var areas : Array[AreaData] = []
|
||||
|
||||
@export var seed_string : String = ""
|
||||
@@ -0,0 +1 @@
|
||||
uid://1hanx5eudexx
|
||||
@@ -0,0 +1,20 @@
|
||||
extends Node
|
||||
|
||||
|
||||
func generate(seed_string: String) -> WorldData:
|
||||
var data : WorldData = WorldData.new()
|
||||
|
||||
data.seed_string = seed_string
|
||||
|
||||
_fill_areas(data)
|
||||
|
||||
return data
|
||||
|
||||
|
||||
func _fill_areas(data : WorldData) -> void:
|
||||
const MAX_AREA_COUNT = 3
|
||||
var rng := RandomNumberGenerator.new()
|
||||
rng.seed = hash(data.seed_string)
|
||||
|
||||
for i in MAX_AREA_COUNT:
|
||||
pass
|
||||
@@ -0,0 +1 @@
|
||||
uid://b7e3xk14le68j
|
||||
@@ -0,0 +1,6 @@
|
||||
[gd_scene load_steps=2 format=3 uid="uid://ggf76ayl53bb"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://b7e3xk14le68j" path="res://game/world/generators/world_generator.gd" id="1_c1jvo"]
|
||||
|
||||
[node name="WorldGenerator" type="Node"]
|
||||
script = ExtResource("1_c1jvo")
|
||||
Reference in New Issue
Block a user