using System; using System.Collections.Generic; using UnityEngine; namespace DunGen { /// /// A set of tiles with weights to be picked from at random /// [Serializable] [CreateAssetMenu(menuName = "DunGen/Tile Set", order = 700)] public sealed class TileSet : ScriptableObject { public GameObjectChanceTable TileWeights = new GameObjectChanceTable(); public List LockPrefabs = new List(); public void AddTile(GameObject tilePrefab, float mainPathWeight, float branchPathWeight) { TileWeights.Weights.Add(new GameObjectChance(tilePrefab, mainPathWeight, branchPathWeight, this)); } public void AddTiles(IEnumerable tilePrefab, float mainPathWeight, float branchPathWeight) { foreach (var tile in tilePrefab) AddTile(tile, mainPathWeight, branchPathWeight); } } }