Added EnemyGenerator
This commit is contained in:
@@ -0,0 +1,16 @@
|
||||
class_name EnemyGenerator
|
||||
extends Node
|
||||
|
||||
|
||||
var local_seed_rng : RandomNumberGenerator = RandomNumberGenerator.new()
|
||||
|
||||
|
||||
func generate(seed_value: int) -> EnemyData:
|
||||
local_seed_rng.seed = seed_value
|
||||
|
||||
var data : EnemyData = EnemyData.new()
|
||||
data.seed_value = seed_value
|
||||
|
||||
|
||||
|
||||
return data
|
||||
@@ -0,0 +1 @@
|
||||
uid://r51oawb6oedw
|
||||
@@ -0,0 +1,6 @@
|
||||
[gd_scene load_steps=2 format=3 uid="uid://bqtiiog23c2ta"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://r51oawb6oedw" path="res://game/world/generators/enemy_generator.gd" id="1_ehucw"]
|
||||
|
||||
[node name="EnemyGenerator" type="Node"]
|
||||
script = ExtResource("1_ehucw")
|
||||
@@ -2,15 +2,30 @@ class_name PassageGenerator
|
||||
extends Node
|
||||
|
||||
|
||||
const ENEMY_COUNT = 10
|
||||
|
||||
|
||||
@onready var enemy_generator : EnemyGenerator = $EnemyGenerator
|
||||
|
||||
|
||||
var local_seed_rng : RandomNumberGenerator = RandomNumberGenerator.new()
|
||||
var enemy_seed_rng : RandomNumberGenerator = RandomNumberGenerator.new()
|
||||
|
||||
|
||||
func generate(seed_value: int) -> PassageData:
|
||||
local_seed_rng.seed = seed_value
|
||||
enemy_seed_rng.seed = local_seed_rng.randi()
|
||||
|
||||
var data : PassageData = PassageData.new()
|
||||
data.seed_value = seed_value
|
||||
|
||||
|
||||
_fill_enemies(data)
|
||||
|
||||
return data
|
||||
|
||||
|
||||
func _fill_enemies(data: PassageData) -> void:
|
||||
for i in ENEMY_COUNT:
|
||||
var seed_value := enemy_seed_rng.randi()
|
||||
var enemy := enemy_generator.generate(seed_value)
|
||||
data.enemies.append(enemy)
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
[gd_scene load_steps=2 format=3 uid="uid://cfcpr07j58cvx"]
|
||||
[gd_scene load_steps=3 format=3 uid="uid://cfcpr07j58cvx"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://bi5vt3ikxya8d" path="res://game/world/generators/passage_generator.gd" id="1_3arab"]
|
||||
[ext_resource type="PackedScene" uid="uid://bqtiiog23c2ta" path="res://game/world/generators/enemy_generator.tscn" id="2_u6kxl"]
|
||||
|
||||
[node name="PassageGenerator" type="Node"]
|
||||
script = ExtResource("1_3arab")
|
||||
|
||||
[node name="EnemyGenerator" parent="." instance=ExtResource("2_u6kxl")]
|
||||
|
||||
Reference in New Issue
Block a user