public IDoorModeGrid2D GetDoorMode(DoorsGrid2D doors) { var transformedDoorLines = DoorLines .Select(x => x.ToInternal()) .ToList(); return(new ManualDoorModeGrid2D(transformedDoorLines)); }
public List <DoorLineGrid2D> GetDoorLines(DoorsGrid2D doors) { var doorLines = new List <DoorLineGrid2D>(); try { var polygon = RoomTemplateLoaderGrid2D.GetPolygonFromRoomTemplate(doors.gameObject); if (polygon == null) { return(null); } foreach (var originalLine in polygon.GetLines()) { var line = originalLine; var settings = GetSettings(line); if (line.Length - settings.Margin1 - settings.Margin2 < settings.Length - 1) { continue; } if (!settings.Enabled) { continue; } if (line.GetDirection() == OrthogonalLineGrid2D.Direction.Bottom || line.GetDirection() == OrthogonalLineGrid2D.Direction.Left) { line = line.SwitchOrientation(); } var doorLineTemp = line.Shrink(settings.Margin1, settings.Margin2); var doorLine = new DoorLineGrid2D() { From = doorLineTemp.From.ToUnityIntVector3(), To = doorLineTemp.To.ToUnityIntVector3(), Length = settings.Length, }; doorLines.Add(doorLine); } } catch (ArgumentException) { } return(doorLines); }
public IDoorModeGrid2D GetDoorMode(DoorsGrid2D doors) { var doorLines = GetDoorLines(doors); if (doorLines == null) { throw new ArgumentException("The provided simple door mode is incorrect."); } var transformedDoorLines = doorLines .Select(x => x.ToInternal()) .ToList(); return(new ManualDoorModeGrid2D(transformedDoorLines)); }
public IDoorModeGrid2D GetDoorMode(DoorsGrid2D doorsComponent) { var doors = new List <GraphBasedGenerator.Grid2D.DoorGrid2D>(); foreach (var door in DoorsList) { // TODO: ugly var doorLine = new GraphBasedGenerator.Grid2D.DoorGrid2D( door.From.RoundToUnityIntVector3().ToCustomIntVector2(), door.To.RoundToUnityIntVector3().ToCustomIntVector2() ); doors.Add(doorLine); } return(new ManualDoorModeGrid2D(doors)); }
public HybridDoorModeInspector(SerializedObject serializedObject, DoorsGrid2D doors, SerializedProperty serializedProperty) : base(serializedObject, doors, serializedProperty) { }
protected ManualDoorModeInspectorBase(SerializedObject serializedObject, DoorsGrid2D doors, SerializedProperty serializedProperty) { this.serializedObject = serializedObject; this.doors = doors; this.serializedProperty = serializedProperty; }
public SimpleDoorModeInspector(SerializedObject serializedObject, DoorsGrid2D doors) { this.serializedObject = serializedObject; this.doors = doors; }