mirror of
https://gitlab.com/MaddoScientisto/cirnogodot.git
synced 2026-06-01 10:15:45 +00:00
Random rooms
This commit is contained in:
parent
75ee779c37
commit
59f98ebf0e
13 changed files with 121 additions and 29 deletions
BIN
ExternalMaterial/SkyscraperTexture/SkyscraperTexture.png
(Stored with Git LFS)
BIN
ExternalMaterial/SkyscraperTexture/SkyscraperTexture.png
(Stored with Git LFS)
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -1,10 +1,15 @@
|
|||
[gd_resource type="Resource" script_class="RogueliteRoomResource" load_steps=2 format=3 uid="uid://b5x83li01qrav"]
|
||||
[gd_resource type="Resource" script_class="RogueliteRoomResource" load_steps=6 format=3 uid="uid://b5x83li01qrav"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://bl2ne8w12e3a" path="res://Scripts/Resources/Roguelite/RogueliteRoomResource.cs" id="1_keg4c"]
|
||||
[ext_resource type="Resource" uid="uid://cocl3qontm3be" path="res://Resources/Enemies/Base_Fairy.tres" id="1_qx515"]
|
||||
[ext_resource type="Resource" uid="uid://cqfyuurvqb8m6" path="res://Resources/Enemies/Base_Fairy_Special.tres" id="2_46i28"]
|
||||
[ext_resource type="Resource" uid="uid://qbo6avc7x64b" path="res://Resources/Enemies/Fairy_Guard.tres" id="3_g4rpe"]
|
||||
[ext_resource type="Resource" uid="uid://cfdvg162u65sr" path="res://Resources/Enemies/Thermathron.tres" id="4_wvuta"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_keg4c")
|
||||
RoomName = &"Test"
|
||||
ScenePath = &"uid://da7hmajaaiohm"
|
||||
Size = Vector2(20, 10)
|
||||
SpawnableEnemies = Array[Object]([ExtResource("1_qx515"), ExtResource("2_46i28"), ExtResource("3_g4rpe"), ExtResource("4_wvuta")])
|
||||
metadata/_custom_type_script = "uid://bl2ne8w12e3a"
|
||||
|
|
|
|||
15
Resources/RogueliteMaps/TestRGMap2.tres
Normal file
15
Resources/RogueliteMaps/TestRGMap2.tres
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
[gd_resource type="Resource" script_class="RogueliteRoomResource" load_steps=6 format=3 uid="uid://ly8l7asedjpx"]
|
||||
|
||||
[ext_resource type="Resource" uid="uid://cocl3qontm3be" path="res://Resources/Enemies/Base_Fairy.tres" id="1_1ns8k"]
|
||||
[ext_resource type="Resource" uid="uid://cqfyuurvqb8m6" path="res://Resources/Enemies/Base_Fairy_Special.tres" id="2_8dyfa"]
|
||||
[ext_resource type="Resource" uid="uid://qbo6avc7x64b" path="res://Resources/Enemies/Fairy_Guard.tres" id="3_3kq4c"]
|
||||
[ext_resource type="Resource" uid="uid://cfdvg162u65sr" path="res://Resources/Enemies/Thermathron.tres" id="4_010mx"]
|
||||
[ext_resource type="Script" uid="uid://bl2ne8w12e3a" path="res://Scripts/Resources/Roguelite/RogueliteRoomResource.cs" id="5_myanx"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("5_myanx")
|
||||
RoomName = &"Test2"
|
||||
ScenePath = &"uid://dcxrdhq1yw5c7"
|
||||
Size = Vector2(20, 10)
|
||||
SpawnableEnemies = Array[Object]([ExtResource("1_1ns8k"), ExtResource("2_8dyfa"), ExtResource("3_3kq4c"), ExtResource("4_010mx")])
|
||||
metadata/_custom_type_script = "uid://bl2ne8w12e3a"
|
||||
|
|
@ -21,9 +21,9 @@
|
|||
[ext_resource type="Resource" uid="uid://byo74ews118nl" path="res://Resources/Music/No_Reason.tres" id="13_fh7cp"]
|
||||
[ext_resource type="FontFile" uid="uid://cyk27h5aox1n7" path="res://fonts/sector_034.ttf" id="14_yxkem"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_quqih"]
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_ljnfb"]
|
||||
atlas = ExtResource("9_riqfo")
|
||||
region = Rect2(576, 0, 32, 16)
|
||||
region = Rect2(128, 0, 32, 16)
|
||||
|
||||
[sub_resource type="Theme" id="Theme_c7h4d"]
|
||||
|
||||
|
|
@ -69,7 +69,7 @@ offset_top = 40.995
|
|||
offset_right = 186.42
|
||||
offset_bottom = 56.995
|
||||
rotation = 3.14159
|
||||
texture = SubResource("AtlasTexture_quqih")
|
||||
texture = SubResource("AtlasTexture_ljnfb")
|
||||
|
||||
[node name="MarginContainer" type="MarginContainer" parent="."]
|
||||
anchors_preset = 15
|
||||
|
|
|
|||
|
|
@ -1,9 +1,8 @@
|
|||
[gd_scene load_steps=14 format=4 uid="uid://8ppagfume46d"]
|
||||
[gd_scene load_steps=12 format=4 uid="uid://8ppagfume46d"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://doxmbokehw8ci" path="res://Scripts/GameManager.cs" id="1_hx5ph"]
|
||||
[ext_resource type="PackedScene" uid="uid://c4pr2707hbeph" path="res://Scenes/Actors/fsm_player.tscn" id="2_r7f28"]
|
||||
[ext_resource type="Resource" uid="uid://b6per1p85bqpn" path="res://Resources/Maps/Level4.tres" id="2_wvpxs"]
|
||||
[ext_resource type="Script" uid="uid://mja0rk7n2kln" path="res://Scripts/Resources/MapStartDataResource.cs" id="4_4wg3n"]
|
||||
[ext_resource type="TileSet" uid="uid://6k28roiljylj" path="res://Tilesets/factory_tileset.tres" id="5_e10oj"]
|
||||
[ext_resource type="Script" uid="uid://krean0uywtms" path="res://Scripts/TilemapAvoidance.cs" id="6_4t7ma"]
|
||||
[ext_resource type="Script" uid="uid://cfya7sndh7vy2" path="res://Scenes/CameraController.gd" id="9_0x0w0"]
|
||||
|
|
@ -13,11 +12,6 @@
|
|||
[ext_resource type="Script" uid="uid://cnkipcolyj61w" path="res://Scripts/AlarmManager.cs" id="13_lxaeu"]
|
||||
[ext_resource type="PackedScene" uid="uid://b3tyacxxw88lx" path="res://Scenes/Utils/StreamPlayerWithName.tscn" id="14_x7uby"]
|
||||
|
||||
[sub_resource type="Resource" id="Resource_6wo78"]
|
||||
script = ExtResource("4_4wg3n")
|
||||
EggIndex = 0
|
||||
StartingEquipment = []
|
||||
|
||||
[node name="GameScene" type="Node2D"]
|
||||
process_mode = 3
|
||||
script = ExtResource("1_hx5ph")
|
||||
|
|
@ -26,7 +20,6 @@ PlayerTemplate = ExtResource("2_r7f28")
|
|||
SpawnMarkers = Dictionary[int, NodePath]({
|
||||
0: NodePath("PlayerStartPosition")
|
||||
})
|
||||
MapStartData = SubResource("Resource_6wo78")
|
||||
|
||||
[node name="Parallax2D" type="Parallax2D" parent="."]
|
||||
|
||||
|
|
|
|||
|
|
@ -1,10 +1,11 @@
|
|||
[gd_scene load_steps=13 format=3 uid="uid://bf1kqr3o6r6d4"]
|
||||
[gd_scene load_steps=14 format=3 uid="uid://bf1kqr3o6r6d4"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://doxmbokehw8ci" path="res://Scripts/GameManager.cs" id="1_wbqvu"]
|
||||
[ext_resource type="PackedScene" uid="uid://c4pr2707hbeph" path="res://Scenes/Actors/fsm_player.tscn" id="2_3fyis"]
|
||||
[ext_resource type="Resource" uid="uid://6ek4lmtuij4t" path="res://Resources/Maps/Roguelite.tres" id="2_k5t51"]
|
||||
[ext_resource type="Script" uid="uid://bt2qjgnf1wc2r" path="res://Scripts/Controllers/RogueliteRoomManager.cs" id="4_jtlua"]
|
||||
[ext_resource type="Resource" uid="uid://b5x83li01qrav" path="res://Resources/RogueliteMaps/TestRGMap.tres" id="5_gwtv6"]
|
||||
[ext_resource type="Resource" uid="uid://ly8l7asedjpx" path="res://Resources/RogueliteMaps/TestRGMap2.tres" id="6_gwtv6"]
|
||||
[ext_resource type="Script" uid="uid://cfya7sndh7vy2" path="res://Scenes/CameraController.gd" id="8_y651a"]
|
||||
[ext_resource type="Script" uid="uid://c5nxsq3tyxcx6" path="res://Scripts/InventoryManager.cs" id="9_vhvs2"]
|
||||
[ext_resource type="PackedScene" uid="uid://dkwi1hu1bixoe" path="res://Scenes/HUD/HUD.tscn" id="10_6gk3e"]
|
||||
|
|
@ -32,7 +33,7 @@ NavigationRegion = NodePath("NavigationRegion2D")
|
|||
[node name="Maps" type="Node2D" parent="." groups=["navigation_polygon_source_geometry_group"]]
|
||||
process_mode = 1
|
||||
script = ExtResource("4_jtlua")
|
||||
Rooms = Array[Object]([ExtResource("5_gwtv6")])
|
||||
Rooms = Array[Object]([ExtResource("5_gwtv6"), ExtResource("6_gwtv6")])
|
||||
|
||||
[node name="CameraController" type="Camera2D" parent="."]
|
||||
process_mode = 1
|
||||
|
|
|
|||
|
|
@ -1,11 +1,9 @@
|
|||
[gd_scene load_steps=7 format=4 uid="uid://da7hmajaaiohm"]
|
||||
[gd_scene load_steps=5 format=4 uid="uid://da7hmajaaiohm"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://b2j00riayxkit" path="res://Scripts/Controllers/RogueliteRoom.cs" id="1_dm6kf"]
|
||||
[ext_resource type="Resource" uid="uid://b5x83li01qrav" path="res://Resources/RogueliteMaps/TestRGMap.tres" id="2_5s4nm"]
|
||||
[ext_resource type="PackedScene" uid="uid://clieeuln36a7a" path="res://Scenes/Actors/Fairy_FSM.tscn" id="5_b5lqw"]
|
||||
[ext_resource type="TileSet" uid="uid://6k28roiljylj" path="res://Tilesets/factory_tileset.tres" id="5_q5p8k"]
|
||||
[ext_resource type="Script" uid="uid://krean0uywtms" path="res://Scripts/TilemapAvoidance.cs" id="6_81nvh"]
|
||||
[ext_resource type="PackedScene" uid="uid://bb32f4p5e671j" path="res://Scenes/Actors/Fairy_Guard_FSM.tscn" id="6_rlq0q"]
|
||||
|
||||
[node name="Tilemaps" type="Node2D"]
|
||||
process_mode = 1
|
||||
|
|
@ -34,11 +32,15 @@ metadata/_edit_lock_ = true
|
|||
[node name="Actors" type="Node2D" parent="."]
|
||||
metadata/_edit_lock_ = true
|
||||
|
||||
[node name="FairyFsm" parent="." instance=ExtResource("5_b5lqw")]
|
||||
position = Vector2(68, 74)
|
||||
[node name="EnemySpawners" type="Node2D" parent="."]
|
||||
|
||||
[node name="FairyFsm2" parent="." instance=ExtResource("5_b5lqw")]
|
||||
position = Vector2(245, 105)
|
||||
[node name="RogueliteEnemySpawner" type="Marker2D" parent="EnemySpawners"]
|
||||
position = Vector2(57, 67)
|
||||
|
||||
[node name="FairyGuardFsm" parent="." instance=ExtResource("6_rlq0q")]
|
||||
position = Vector2(186, 65)
|
||||
[node name="RogueliteEnemySpawner2" type="Marker2D" parent="EnemySpawners"]
|
||||
position = Vector2(88, 126)
|
||||
|
||||
[node name="RogueliteEnemySpawner3" type="Marker2D" parent="EnemySpawners"]
|
||||
position = Vector2(266, 122)
|
||||
|
||||
[node name="Doors" type="Node2D" parent="."]
|
||||
|
|
|
|||
47
Scenes/Maps/RogueliteMaps/Rg2.tscn
Normal file
47
Scenes/Maps/RogueliteMaps/Rg2.tscn
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
[gd_scene load_steps=5 format=4 uid="uid://dcxrdhq1yw5c7"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://b2j00riayxkit" path="res://Scripts/Controllers/RogueliteRoom.cs" id="1_cak6m"]
|
||||
[ext_resource type="Resource" uid="uid://ly8l7asedjpx" path="res://Resources/RogueliteMaps/TestRGMap2.tres" id="2_cak6m"]
|
||||
[ext_resource type="TileSet" uid="uid://6k28roiljylj" path="res://Tilesets/factory_tileset.tres" id="3_f7qjl"]
|
||||
[ext_resource type="Script" uid="uid://krean0uywtms" path="res://Scripts/TilemapAvoidance.cs" id="4_wtdf1"]
|
||||
|
||||
[node name="Tilemaps" type="Node2D"]
|
||||
process_mode = 1
|
||||
script = ExtResource("1_cak6m")
|
||||
RoomResource = ExtResource("2_cak6m")
|
||||
|
||||
[node name="Floor" type="TileMapLayer" parent="." node_paths=PackedStringArray("_solidLayers") groups=["Solid"]]
|
||||
tile_map_data = PackedByteArray("AAAAAAIAAAAFAAAAAAAAAAMAAAAFAAAAAAAAAAQAAAAFAAAAAAAAAAUAAAAFAAAAAAAAAAYAAAAFAAAAAAAAAAcAAAAFAAAAAAAAAAgAAAAFAAAAAAAAAAkAAAAFAAAAAAABAAIAAAAFAAAAAAABAAMAAAAFAAAAAAABAAQAAAAFAAAAAAABAAUAAAAFAAAAAAABAAYAAAAFAAAAAAABAAcAAAAFAAAAAAABAAgAAAAFAAAAAAABAAkAAAAFAAAAAAACAAIAAAAFAAAAAAACAAMAAAAFAAAAAAACAAQAAAAFAAAAAAACAAUAAAAFAAAAAAACAAYAAAAFAAAAAAACAAcAAAAFAAAAAAACAAgAAAAFAAAAAAACAAkAAAAFAAAAAAADAAIAAAAFAAAAAAADAAMAAAAFAAAAAAADAAQAAAAFAAAAAAADAAUAAAAFAAAAAAADAAYAAAAFAAAAAAADAAcAAAAFAAAAAAADAAgAAAAFAAAAAAADAAkAAAAFAAAAAAAEAAIAAAAFAAAAAAAEAAMAAAAFAAAAAAAEAAQAAAAFAAAAAAAEAAUAAAAFAAAAAAAEAAYAAAAFAAAAAAAEAAcAAAAFAAAAAAAEAAgAAAAFAAAAAAAEAAkAAAAFAAAAAAAFAAIAAAAFAAAAAAAFAAMAAAAFAAAAAAAFAAQAAAAFAAAAAAAFAAUAAAAFAAAAAAAFAAYAAAAFAAAAAAAFAAcAAAAFAAAAAAAFAAgAAAAFAAAAAAAFAAkAAAAFAAAAAAAGAAIAAAAFAAAAAAAGAAMAAAAFAAAAAAAGAAQAAAAFAAAAAAAGAAUAAAAFAAAAAAAGAAYAAAAFAAAAAAAGAAcAAAAFAAAAAAAGAAgAAAAFAAAAAAAGAAkAAAAFAAAAAAAHAAIAAAAFAAAAAAAHAAMAAAAFAAAAAAAHAAQAAAAFAAAAAAAHAAUAAAAFAAAAAAAHAAYAAAAFAAAAAAAHAAcAAAAFAAAAAAAHAAgAAAAFAAAAAAAHAAkAAAAFAAAAAAAIAAIAAAAFAAAAAAAIAAMAAAAFAAAAAAAIAAQAAAAFAAAAAAAIAAUAAAAFAAAAAAAIAAYAAAAFAAAAAAAIAAcAAAAFAAAAAAAIAAgAAAAFAAAAAAAIAAkAAAAFAAAAAAAJAAIAAAAFAAAAAAAJAAMAAAAFAAAAAAAJAAQAAAAFAAAAAAAJAAgAAAAFAAAAAAAJAAkAAAAFAAAAAAAKAAIAAAAFAAAAAAAKAAMAAAAFAAAAAAAKAAQAAAAFAAAAAAAKAAgAAAAFAAAAAAAKAAkAAAAFAAAAAAALAAIAAAAFAAAAAAALAAUAAAAFAAAAAAALAAYAAAAFAAAAAAALAAcAAAAFAAAAAAALAAgAAAAFAAAAAAALAAkAAAAFAAAAAAAMAAIAAAAFAAAAAAAMAAUAAAAFAAAAAAAMAAYAAAAFAAAAAAAMAAcAAAAFAAAAAAAMAAgAAAAFAAAAAAAMAAkAAAAFAAAAAAANAAIAAAAFAAAAAAANAAMAAAAFAAAAAAANAAQAAAAFAAAAAAANAAUAAAAFAAAAAAANAAYAAAAFAAAAAAANAAcAAAAFAAAAAAANAAgAAAAFAAAAAAANAAkAAAAFAAAAAAAOAAIAAAAFAAAAAAAOAAMAAAAFAAAAAAAOAAQAAAAFAAAAAAAOAAUAAAAFAAAAAAAOAAYAAAAFAAAAAAAOAAcAAAAFAAAAAAAOAAgAAAAFAAAAAAAOAAkAAAAFAAAAAAAPAAIAAAAFAAAAAAAPAAMAAAAFAAAAAAAPAAQAAAAFAAAAAAAPAAUAAAAFAAAAAAAPAAYAAAAFAAAAAAAPAAcAAAAFAAAAAAAPAAgAAAAFAAAAAAAPAAkAAAAFAAAAAAAQAAIAAAAFAAAAAAAQAAMAAAAFAAAAAAAQAAQAAAAFAAAAAAAQAAUAAAAFAAAAAAAQAAYAAAAFAAAAAAAQAAcAAAAFAAAAAAAQAAgAAAAFAAAAAAAQAAkAAAAFAAAAAAARAAIAAAAFAAAAAAARAAMAAAAFAAAAAAARAAQAAAAFAAAAAAARAAUAAAAFAAAAAAARAAYAAAAFAAAAAAARAAcAAAAFAAAAAAARAAgAAAAFAAAAAAARAAkAAAAFAAAAAAASAAIAAAAFAAAAAAASAAMAAAAFAAAAAAASAAQAAAAFAAAAAAASAAUAAAAFAAAAAAASAAYAAAAFAAAAAAASAAcAAAAFAAAAAAASAAgAAAAFAAAAAAASAAkAAAAFAAAAAAATAAIAAAAFAAAAAAATAAMAAAAFAAAAAAATAAQAAAAFAAAAAAATAAUAAAAFAAAAAAATAAYAAAAFAAAAAAATAAcAAAAFAAAAAAATAAgAAAAFAAAAAAATAAkAAAAFAAAAAAAAAAAAAAAFAAAAAAAAAAEAAAAFAAAAAAABAAAAAAAFAAAAAAABAAEAAAAFAAAAAAACAAAAAAAFAAAAAAACAAEAAAAFAAAAAAADAAAAAAAFAAAAAAADAAEAAAAFAAAAAAAEAAAAAAAFAAAAAAAEAAEAAAAFAAAAAAAFAAAAAAAFAAAAAAAFAAEAAAAFAAAAAAAGAAAAAAAFAAAAAAAGAAEAAAAFAAAAAAAHAAAAAAAFAAAAAAAHAAEAAAAFAAAAAAAIAAAAAAAFAAAAAAAIAAEAAAAFAAAAAAAJAAAAAAAFAAAAAAAJAAEAAAAFAAAAAAAKAAAAAAAFAAAAAAAKAAEAAAAFAAAAAAALAAAAAAAFAAAAAAALAAEAAAAFAAAAAAALAAMAAAAFAAAAAAALAAQAAAAFAAAAAAAMAAAAAAAFAAAAAAAMAAEAAAAFAAAAAAAMAAMAAAAFAAAAAAAMAAQAAAAFAAAAAAANAAAAAAAFAAAAAAANAAEAAAAFAAAAAAAOAAAAAAAFAAAAAAAOAAEAAAAFAAAAAAAPAAAAAAAFAAAAAAAPAAEAAAAFAAAAAAAQAAAAAAAFAAAAAAAQAAEAAAAFAAAAAAARAAAAAAAFAAAAAAARAAEAAAAFAAAAAAASAAAAAAAFAAAAAAASAAEAAAAFAAAAAAATAAAAAAAFAAAAAAATAAEAAAAFAAAAAAAJAAUAAAAFAAAAAAAJAAYAAAAFAAAAAAAJAAcAAAAFAAAAAAAKAAUAAAAFAAAAAAAKAAYAAAAFAAAAAAAKAAcAAAAFAAAAAAA=")
|
||||
tile_set = ExtResource("3_f7qjl")
|
||||
navigation_enabled = false
|
||||
script = ExtResource("4_wtdf1")
|
||||
_solidLayers = [NodePath("../Solid"), NodePath("../Props")]
|
||||
metadata/_edit_lock_ = true
|
||||
|
||||
[node name="Solid" type="TileMapLayer" parent="." groups=["Solid"]]
|
||||
tile_map_data = PackedByteArray("AAATAAAAAAABAAsAAAASAAAAAAABAAQAAAARAAAAAAABAAQAAAAQAAAAAAABAAQAAAAPAAAAAAABAAQAAAAOAAAAAAABAAQAAAANAAAAAAABAAQAAAAMAAAAAAABAAQAAAALAAAAAAACAAQAAAAIAAAAAAADAAQAAAAHAAAAAAABAAQAAAAGAAAAAAABAAQAAAAFAAAAAAABAAQAAAAEAAAAAAABAAQAAAADAAAAAAABAAQAAAACAAAAAAABAAQAAAABAAAAAAABAAQAAAAAAAAAAAAAAAsAAAATAAIAAAAEAAQAAAATAAEAAAAAAAQAAAAAAAIAAAAEAAQAAAAAAAEAAAAAAAQAAAAAAAkAAAAAAAwAAAAAAAgAAAAAAAQAAAAAAAcAAAAAAAQAAAAAAAYAAAAFAAQAAAATAAkAAAABAAwAAAASAAkAAAABAAQAAAARAAkAAAABAAQAAAAQAAkAAAABAAQAAAAPAAkAAAABAAQAAAAOAAkAAAABAAQAAAANAAkAAAABAAQAAAAMAAkAAAABAAQAAAALAAkAAAACAAQAAAAIAAkAAAADAAQAAAAHAAkAAAABAAQAAAAGAAkAAAABAAQAAAAFAAkAAAABAAQAAAAEAAkAAAABAAQAAAADAAkAAAABAAQAAAACAAkAAAABAAQAAAABAAkAAAABAAQAAAATAAgAAAAAAAQAAAATAAcAAAAAAAQAAAATAAYAAAAFAAQAAAATAAMAAAAMAAAAAAATAAQAAAAMAAEAAAALAAEAAAAMAAAAAAALAAIAAAAMAAEAAAAMAAEAAAAMAAAAAAAMAAIAAAAMAAEAAAANAAEAAAAMAAAAAAANAAIAAAAMAAEAAAAOAAEAAAAMAAAAAAAOAAIAAAAMAAEAAAAPAAEAAAAMAAAAAAAPAAIAAAAMAAEAAAAQAAEAAAAMAAAAAAAQAAIAAAAMAAEAAAARAAEAAAAMAAAAAAARAAIAAAAMAAEAAAASAAEAAAAMAAAAAAASAAIAAAAMAAEAAAABAAEAAAAMAAAAAAABAAIAAAAMAAEAAAACAAEAAAAMAAAAAAACAAIAAAAMAAEAAAADAAEAAAAMAAAAAAADAAIAAAAMAAEAAAAEAAEAAAAMAAAAAAAEAAIAAAAMAAEAAAAFAAEAAAAMAAAAAAAFAAIAAAAMAAEAAAAGAAEAAAAMAAAAAAAGAAIAAAAMAAEAAAAHAAEAAAAMAAAAAAAHAAIAAAAMAAEAAAAIAAEAAAAMAAAAAAAIAAIAAAAMAAEAAAAAAAMAAAAMAAAAAAAAAAQAAAAMAAEAAAAJAAUAAAAMAAAAAAAJAAYAAAAMAAEAAAAKAAUAAAAMAAAAAAAKAAYAAAAMAAEAAAAJAAQAAAACAAQAAAAKAAQAAAADAAQAAAA=")
|
||||
tile_set = ExtResource("3_f7qjl")
|
||||
navigation_enabled = false
|
||||
metadata/_edit_lock_ = true
|
||||
|
||||
[node name="Props" type="TileMapLayer" parent="." groups=["Solid"]]
|
||||
tile_map_data = PackedByteArray("AAAJAAUAAAAJAAwAAAAJAAYAAAAJAA0AAAAKAAUAAAAKAAwAAAAKAAYAAAAKAA0AAAAAAAMAAAAKAAwAAAAAAAQAAAAKAA0AAAAIAAEAAAAKAAwAAAAIAAIAAAAKAA0AAAALAAEAAAAJAAwAAAALAAIAAAAJAA0AAAATAAMAAAAJAAwAAAATAAQAAAAJAA0AAAA=")
|
||||
tile_set = ExtResource("3_f7qjl")
|
||||
navigation_enabled = false
|
||||
metadata/_edit_lock_ = true
|
||||
|
||||
[node name="Actors" type="Node2D" parent="."]
|
||||
metadata/_edit_lock_ = true
|
||||
|
||||
[node name="EnemySpawners" type="Node2D" parent="."]
|
||||
|
||||
[node name="RogueliteEnemySpawner" type="Marker2D" parent="EnemySpawners"]
|
||||
position = Vector2(57, 67)
|
||||
|
||||
[node name="RogueliteEnemySpawner2" type="Marker2D" parent="EnemySpawners"]
|
||||
position = Vector2(233, 63)
|
||||
|
||||
[node name="RogueliteEnemySpawner3" type="Marker2D" parent="EnemySpawners"]
|
||||
position = Vector2(266, 122)
|
||||
|
||||
[node name="Doors" type="Node2D" parent="."]
|
||||
|
|
@ -1,9 +1,31 @@
|
|||
using Cirno.Scripts.Resources.Roguelite;
|
||||
using System.Linq;
|
||||
using Cirno.Scripts.Resources;
|
||||
using Cirno.Scripts.Resources.Roguelite;
|
||||
using Godot;
|
||||
using Godot.Collections;
|
||||
|
||||
namespace Cirno.Scripts.Controllers;
|
||||
|
||||
public partial class RogueliteRoom : Node2D
|
||||
{
|
||||
[Export] public RogueliteRoomResource RoomResource { get; set; }
|
||||
|
||||
private Array<EnemyResource> SpawnableEnemies => RoomResource.SpawnableEnemies;
|
||||
|
||||
public void Spawn()
|
||||
{
|
||||
var enemySpawners = this.GetNode("EnemySpawners").GetChildren().Cast<Marker2D>();
|
||||
|
||||
foreach (var spawner in enemySpawners)
|
||||
{
|
||||
|
||||
var index = GD.RandRange(0, SpawnableEnemies.Count - 1);
|
||||
|
||||
var e = SpawnableEnemies[index];
|
||||
|
||||
var enemyScene = GD.Load<PackedScene>(e.PrefabPath);
|
||||
var spawnedEnemy = spawner.CreateChild<Node2D>(enemyScene);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
@ -19,7 +19,7 @@ public partial class RogueliteRoomManager : Node2D
|
|||
|
||||
private void SpawnRoomsGrid()
|
||||
{
|
||||
var firstRoom = Rooms.FirstOrDefault();
|
||||
//var firstRoom = Rooms.FirstOrDefault();
|
||||
|
||||
var origin = Vector2.Zero;
|
||||
var tileSize = new Vector2(16, 16);
|
||||
|
|
@ -28,11 +28,13 @@ public partial class RogueliteRoomManager : Node2D
|
|||
{
|
||||
for (int j = 0; j < 10; j++)
|
||||
{
|
||||
SpawnRoom(firstRoom, origin + (firstRoom.Size * new Vector2(i, j) * tileSize));
|
||||
var roomIndex = GD.RandRange(0, Rooms.Count - 1);
|
||||
var room = Rooms[roomIndex];
|
||||
SpawnRoom(room, origin + (room.Size * new Vector2(i, j) * tileSize));
|
||||
}
|
||||
}
|
||||
|
||||
CallDeferred(MethodName.RebakeNavigationDeferred);
|
||||
//CallDeferred(MethodName.RebakeNavigationDeferred);
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -46,5 +48,7 @@ public partial class RogueliteRoomManager : Node2D
|
|||
var roomScene = GD.Load<PackedScene>(room.ScenePath);
|
||||
|
||||
var spawnedScene = this.CreateChild<RogueliteRoom>(roomScene, position);
|
||||
|
||||
spawnedScene.Spawn();
|
||||
}
|
||||
}
|
||||
|
|
@ -1,4 +1,5 @@
|
|||
using Godot;
|
||||
using Godot.Collections;
|
||||
|
||||
namespace Cirno.Scripts.Resources.Roguelite;
|
||||
|
||||
|
|
@ -8,4 +9,6 @@ public partial class RogueliteRoomResource : Resource
|
|||
[Export] public StringName RoomName { get; set; }
|
||||
[Export] public StringName ScenePath { get; set; }
|
||||
[Export] public Vector2 Size { get; set; } = new(20, 10);
|
||||
|
||||
[Export] public Array<EnemyResource> SpawnableEnemies { get; set; }
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue