| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- using System;
- using UnityEngine;
- namespace DunGen.Graph
- {
- [Serializable]
- public abstract class FlowGraphObjectReference
- {
- public DungeonFlow Flow { get { return flow; } }
- [SerializeField]
- protected DungeonFlow flow;
- [SerializeField]
- protected int index;
- }
- [Serializable]
- public sealed class FlowNodeReference : FlowGraphObjectReference
- {
- public GraphNode Node
- {
- get { return flow.Nodes[index]; }
- set { index = flow.Nodes.IndexOf(value); }
- }
- public FlowNodeReference(DungeonFlow flowGraph, GraphNode node)
- {
- Debug.Assert(flowGraph != null);
- Debug.Assert(node != null);
- flow = flowGraph;
- Node = node;
- }
- }
- [Serializable]
- public sealed class FlowLineReference : FlowGraphObjectReference
- {
- public GraphLine Line
- {
- get { return flow.Lines[index]; }
- set { index = flow.Lines.IndexOf(value); }
- }
- public FlowLineReference(DungeonFlow flowGraph, GraphLine line)
- {
- Debug.Assert(flowGraph != null);
- Debug.Assert(line != null);
- flow = flowGraph;
- Line = line;
- }
- }
- }
|