public void Initialise(List <VolumePoint> points, int newFloorCount = 1, float newFloorHeight = 3.0f) { _points.Clear(); _points.AddRange(points); _floors = newFloorCount; _floorHeight = newFloorHeight; _interiorFloorplans.Clear(); for (int f = 0; f < newFloorCount; f++) { Floorplan floorplan = Floorplan.Create(transform); floorplan.SetDefaultName(f); _interiorFloorplans.Add(floorplan); } }
private void CheckInternalFloorplans() { if (!building.generateInteriors) { return; } int currentPlanCount = _interiorFloorplans.Count; if (currentPlanCount != _floors) { while (currentPlanCount < _floors) { _interiorFloorplans.Add(null); currentPlanCount++; } while (currentPlanCount > _floors) { Floorplan floorplan = _interiorFloorplans[currentPlanCount - 1]; _interiorFloorplans.Remove(floorplan); #if UNITY_EDITOR if (floorplan != null) { UnityEditor.Undo.DestroyObjectImmediate(floorplan.gameObject); } #else if (floorplan != null) { Destroy(floorplan.gameObject); } #endif currentPlanCount--; } } for (int i = 0; i < currentPlanCount; i++) { if (_interiorFloorplans[i] == null) { Floorplan floorplan = Floorplan.Create(transform); floorplan.SetDefaultName(i + 1); _interiorFloorplans[i] = floorplan; } } }