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;
}
}
}