using Cirno.Scripts.Activables; using Cirno.Scripts.Resources.Loot; using Cirno.Scripts.Resources.Roguelite; using Godot; using Godot.Collections; namespace Cirno.Scripts.Resources; [GlobalClass] public partial class RogueliteMapTheme : Resource { [ExportCategory("Dimensions")] [Export] public Vector2I TileSize { get; set; } = new Vector2I(16, 16); [Export] public Vector2I RoomSizeInTiles { get; set; } = new Vector2I(20, 10); [ExportGroup("Prefabs")] [Export] public PackedScene HorizontalDoorPrefab { get; set; } [Export] public PackedScene HorizontalWallPrefab { get; set; } [Export] public PackedScene VerticalDoorPrefab { get; set; } [Export] public PackedScene VerticalWallPrefab { get; set; } [Export] public PackedScene DoorLockPrefab { get; set; } [Export] public PackedScene KeyCardPrefab { get; set; } [Export] public PackedScene ChestPrefab { get; set; } [Export] public PackedScene VendingMachinePrefab { get; set; } [Export] public Array KeyCardsPrefabs { get; set; } [Export] public PackedScene ShroudPrefab { get; set; } [Export] public LootItem PointItemResource { get; set; } [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; } [Export] public LootTable WeaponsLootTable { get; set; } [ExportCategory("Rooms")] [Export] public Array Rooms { get; set; } }