using System; using System.Collections.Generic; namespace DunGen.Graph { /// /// Possible types of node. Currently used to prevent start & goal nodes from being moved/deleted /// public enum NodeType { Normal, Start, Goal, } /// /// A node on the dungeon flow graph, representing a single tile /// [Serializable] public class GraphNode { public DungeonFlow Graph; /// /// A collection of tile sets from which one tile will be chosen at random to place at the current position in the dungeon /// public List TileSets = new List(); /// /// The node type (see NodeType description) /// public NodeType NodeType; /// /// The node's normalized position on the graph /// public float Position; /// /// A descriptive label, solely for visualization /// public string Label; /// /// A list of possible keys to be placed in this area /// public List Keys = new List(); /// /// A list of possible locked doors to be placed in this area /// public List Locks = new List(); /// /// Where locked doors are allowed to be placed on this node /// public NodeLockPlacement LockPlacement; /// /// Settings for straightening the path between this node and the next /// public PathStraighteningSettings StraighteningSettings = new PathStraighteningSettings(); public GraphNode(DungeonFlow graph) { Graph = graph; } } }