private void CheckPrefabsForAllSides(PrefabsPerSide prefabsPerSide)
        {
            var first = true;

            foreach (RoomSide side in Enum.GetValues(typeof(RoomSide)))
            {
                if (!prefabsPerSide.ContainsKey(side))
                {
                    if (!first)
                    {
                        errorMessageDetails += ", ";
                    }

                    errorMessageDetails += side.GetName();
                    first = false;
                }
            }

            errorMessageDetails += "\n";
        }
        protected override void Initialize()
        {
            if (loadedDefaultValues)
            {
                return;
            }

            loadedDefaultValues = true;
            var levelBuilderSettings = LevelBuilderSettings.GetOrCreateSettings();

            fullWall               = (PrefabsPerSide)levelBuilderSettings.fullWall.Clone();
            wallShortenedLeft      = (PrefabsPerSide)levelBuilderSettings.wallShortenedLeft.Clone();
            wallShortenedRight     = (PrefabsPerSide)levelBuilderSettings.wallShortenedRight.Clone();
            wallShortenedBothSides = (PrefabsPerSide)levelBuilderSettings.wallShortenedBothSides.Clone();
            floor             = (RoomElementSpawnSettings)levelBuilderSettings.floor.Clone();
            innerCorner       = (RoomElementSpawnSettings)levelBuilderSettings.innerCorner.Clone();
            outerCorner       = (RoomElementSpawnSettings)levelBuilderSettings.outerCorner.Clone();
            materialSlotSetup = levelBuilderSettings.materialSlotSetup;
            floorSize         = levelBuilderSettings.floorSize;
            roomName          = (string)levelBuilderSettings.roomName.Clone();
            roomSizeX         = levelBuilderSettings.roomSizeX;
            roomSizeZ         = levelBuilderSettings.roomSizeZ;
        }
        public override SerializableDictionary <RoomSide, RoomElementSpawnSettings> Clone()
        {
            var newDictionary = new PrefabsPerSide();

            return(CloneInto(newDictionary));
        }