ZeroVR/ZeroPacientVR/Assets/CodeRespawn/DungeonArchitect/Scripts/Modules/FlowImpl/GridFlow/GridFlowDomainStructures.cs

52 lines
1.4 KiB
C#

//$ Copyright 2015-22, Code Respawn Technologies Pvt Ltd - All Rights Reserved $//
using System;
using DungeonArchitect.Flow.Domains;
using DungeonArchitect.Flow.Domains.Tilemap.Tasks;
namespace DungeonArchitect.Flow.Impl.GridFlow
{
[System.Serializable]
public enum GridFlowLayoutNodeRoomType
{
Unknown,
Room,
Corridor,
Cave
}
public class GridFlowTilemapDomainData : IFlowDomainData
{
public GridFlowLayoutNodeRoomType RoomType = GridFlowLayoutNodeRoomType.Unknown;
public IFlowDomainData Clone()
{
var clone = new GridFlowTilemapDomainData();
clone.RoomType = RoomType;
return clone;
}
}
public class GridFlowTilemapState : ICloneable
{
public TilemapFlowNodeWallGenerationMethod WallGenerationMethod = TilemapFlowNodeWallGenerationMethod.WallAsTiles;
public object Clone()
{
var clone = new GridFlowTilemapState();
clone.WallGenerationMethod = WallGenerationMethod;
return clone;
}
}
public class GridFlowLayoutNodeState : IFlowDomainData
{
public bool CanPerturb = true;
public IFlowDomainData Clone()
{
var clone = new GridFlowLayoutNodeState();
clone.CanPerturb = CanPerturb;
return clone;
}
}
}