private void SavePreset(RoomSettings settings, string name)
        {
            RoomPreset preset = new RoomPreset(settings);

            preset.SavePreset("UserData/RoomPresets/" + name + ".json");
            PresetsCollection.ReloadPresets();
        }
        private void _presetsListViewController_didFinishEvent(RoomPreset selectedPreset)
        {
            DismissViewController(_presetsListViewController);

            if (selectedPreset != null)
            {
                RoomSettings settings = selectedPreset.GetRoomSettings();

                _mainRoomCreationViewController.ApplyRoomSettings(settings);
            }
        }
示例#3
0
    public void StartRoom(string type)
    {
        isBuilding = true;
        RoomPreset tempRoom = Resources.Load("RoomPresets\\" + type) as RoomPreset;

        room              = new Room();
        room.BuildInside  = tempRoom.BuildInside;
        room.BuildOutside = tempRoom.BuildOutside;
        room.Description  = tempRoom.Description;
        room.Name         = tempRoom.Name;
        room.Requirements = tempRoom.Requirements;
    }
        public TableCell CellForRow(int row)
        {
            LevelListTableCell cell = Instantiate(_presetsTableCellInstance);

            RoomPreset preset = availablePresets[row];

            cell.GetComponentsInChildren <UnityEngine.UI.Image>(true).First(x => x.name == "CoverImage").enabled = false;

            cell.songName = $"{preset.GetName()}";
            cell.author   = $"{preset.settings.Name}";

            cell.reuseIdentifier = "PresetCell";

            return(cell);
        }
示例#5
0
文件: Room.cs 项目: JammedGame/LD45
    public Room(GameWorld gameWorld, int x, int y, RoomPreset data)
    {
        RoomData = data;
        World    = gameWorld;
        X        = x;
        Y        = y;

        // position room
        var gameSettings = GameSettings.Instance;

        Width        = gameSettings.RoomWidth;
        Height       = gameSettings.RoomHeight;
        Position3D.x = X * (Width + gameSettings.RoomWidthPadding);
        Position3D.y = Y * (Height + gameSettings.RoomHeightPadding);
        data.SpawnStuffIntoRooms(this);
    }
        public static void ReloadPresets()
        {
            try
            {
                loadedPresets.Clear();

                if (!Directory.Exists(Path.Combine(Environment.CurrentDirectory, "UserData")))
                {
                    Directory.CreateDirectory(Path.Combine(Environment.CurrentDirectory, "UserData"));
                }

                if (!Directory.Exists(Path.Combine(Path.Combine(Environment.CurrentDirectory, "UserData"), "RoomPresets")))
                {
                    Directory.CreateDirectory(Path.Combine(Path.Combine(Environment.CurrentDirectory, "UserData"), "RoomPresets"));
                }

                List <string> presetFiles = Directory.GetFiles(Path.Combine(Path.Combine(Environment.CurrentDirectory, "UserData"), "RoomPresets"), "*.json").ToList();

                Plugin.log.Info($"Found {presetFiles.Count} presets in RoomPresets folder");

                foreach (string path in presetFiles)
                {
                    try
                    {
                        RoomPreset preset = RoomPreset.LoadPreset(path);
                        loadedPresets.Add(preset);
                        Plugin.log.Debug($"Found preset \"{preset.GetName()}\"");
                    }
                    catch (Exception e)
                    {
                        Plugin.log.Error($"Unable to parse preset @ {path}! Exception: {e}");
                    }
                }
            }
            catch (Exception e)
            {
                Plugin.log.Error("Unable to load presets! Exception: " + e);
            }
        }
示例#7
0
        public TableCell CellForIdx(int row)
        {
            LevelListTableCell cell = Instantiate(_presetsTableCellInstance);

            RoomPreset preset = availablePresets[row];

            cell.GetComponentsInChildren <UnityEngine.UI.Image>(true).First(x => x.name == "CoverImage").enabled = false;

            cell.SetText($"{preset.GetName()}");
            cell.SetSubText($"{preset.settings.Name}");

            cell.reuseIdentifier = "PresetCell";

            cell.SetPrivateField("_beatmapCharacteristicAlphas", new float[0]);
            cell.SetPrivateField("_beatmapCharacteristicImages", new UnityEngine.UI.Image[0]);
            cell.SetPrivateField("_bought", true);
            foreach (var icon in cell.GetComponentsInChildren <UnityEngine.UI.Image>().Where(x => x.name.StartsWith("LevelTypeIcon")))
            {
                Destroy(icon.gameObject);
            }

            return(cell);
        }
示例#8
0
 public PresetListObject(RoomPreset preset)
 {
     this.preset    = preset;
     presetName     = preset.GetName();
     presetRoomName = preset.settings.Name;
 }