2025-04-28 09:50:55 +02:00
|
|
|
|
using Cirno.Scripts.Activables;
|
|
|
|
|
|
using Cirno.Scripts.Resources.Loot;
|
2025-04-25 18:33:20 +02:00
|
|
|
|
using Cirno.Scripts.Resources.Roguelite;
|
2025-04-24 16:40:51 +02:00
|
|
|
|
using Godot;
|
|
|
|
|
|
using Godot.Collections;
|
|
|
|
|
|
|
|
|
|
|
|
namespace Cirno.Scripts.Resources;
|
|
|
|
|
|
|
|
|
|
|
|
[GlobalClass]
|
|
|
|
|
|
public partial class RogueliteMapTheme : Resource
|
|
|
|
|
|
{
|
2025-04-28 09:50:55 +02:00
|
|
|
|
[ExportCategory("Dimensions")]
|
|
|
|
|
|
[Export] public Vector2I TileSize { get; set; } = new Vector2I(16, 16);
|
|
|
|
|
|
[Export] public Vector2I RoomSizeInTiles { get; set; } = new Vector2I(20, 10);
|
|
|
|
|
|
|
2025-04-25 18:33:20 +02:00
|
|
|
|
[ExportGroup("Prefabs")]
|
2025-04-24 16:40:51 +02:00
|
|
|
|
[Export] public PackedScene HorizontalDoorPrefab { get; set; }
|
2025-04-28 14:58:41 +02:00
|
|
|
|
[Export] public PackedScene HorizontalNorthWallPrefab { get; set; }
|
|
|
|
|
|
[Export] public PackedScene HorizontalSouthWallPrefab { get; set; }
|
2025-04-24 16:40:51 +02:00
|
|
|
|
[Export] public PackedScene VerticalDoorPrefab { get; set; }
|
|
|
|
|
|
[Export] public PackedScene VerticalWallPrefab { get; set; }
|
2025-04-28 18:06:07 +02:00
|
|
|
|
[Export] public PackedScene VerticalSecretDoorPrefab { get; set; }
|
2025-04-24 16:40:51 +02:00
|
|
|
|
[Export] public PackedScene DoorLockPrefab { get; set; }
|
|
|
|
|
|
[Export] public PackedScene KeyCardPrefab { get; set; }
|
2025-04-25 18:33:20 +02:00
|
|
|
|
[Export] public PackedScene ChestPrefab { get; set; }
|
|
|
|
|
|
[Export] public PackedScene VendingMachinePrefab { get; set; }
|
|
|
|
|
|
[Export] public Array<PackedScene> KeyCardsPrefabs { get; set; }
|
2025-04-28 09:50:55 +02:00
|
|
|
|
[Export] public PackedScene ShroudPrefab { get; set; }
|
2025-04-25 18:33:20 +02:00
|
|
|
|
[Export] public LootItem PointItemResource { get; set; }
|
2025-04-24 16:40:51 +02:00
|
|
|
|
|
2025-04-28 09:50:55 +02:00
|
|
|
|
|
2025-04-25 18:33:20 +02:00
|
|
|
|
[ExportGroup("Chances")]
|
|
|
|
|
|
[Export] public double ChestChance { get; set; }
|
|
|
|
|
|
[Export] public float EnemyDropChance { get; set; }
|
|
|
|
|
|
[Export] public LootTable ChestLootTable { get; set; }
|
|
|
|
|
|
[Export] public LootTable ShopLootTable { get; set; }
|
|
|
|
|
|
[Export] public LootTable EnemiesLootTable { get; set; }
|
2025-04-25 19:00:28 +02:00
|
|
|
|
[Export] public LootTable WeaponsLootTable { get; set; }
|
2025-04-25 18:33:20 +02:00
|
|
|
|
|
|
|
|
|
|
[ExportCategory("Rooms")]
|
2025-04-24 16:40:51 +02:00
|
|
|
|
[Export] public Array<RogueliteRoomResource> Rooms { get; set; }
|
|
|
|
|
|
}
|