void SaveSpawnFile(BasePlayer player, string name) { var NewSpawnFile = Interface.Oxide.DataFileSystem.GetFile($"SpawnsDatabase/{name}"); NewSpawnFile.Clear(); NewSpawnFile.Settings.Converters = new JsonConverter[] { new StringEnumConverter(), new UnityVector3Converter() }; var spawnFile = new Spawnfile(); int i = 1; foreach (Vector3 spawnpoint in SpawnCreation[player.userID]) { spawnFile.spawnPoints.Add(i.ToString(), spawnpoint); i++; } NewSpawnFile.WriteObject(spawnFile); if (!spawnsData.Spawnfiles.Contains(name)) { spawnsData.Spawnfiles.Add(name); } if (!LoadedSpawnfiles.ContainsKey(name)) { LoadedSpawnfiles.Add(name, SpawnCreation[player.userID]); } else { LoadedSpawnfiles[name] = SpawnCreation[player.userID]; } SaveData(); SpawnCreation.Remove(player.userID); }
object LoadSpawnFile(string name) { if (!Interface.Oxide.DataFileSystem.ExistsDatafile($"SpawnsDatabase/{name}")) { return(null); } var sfile = Interface.GetMod().DataFileSystem.GetDatafile($"SpawnsDatabase/{name}"); sfile.Settings.Converters = new JsonConverter[] { new StringEnumConverter(), new UnityVector3Converter() }; var spawnFile = new Spawnfile(); spawnFile = sfile.ReadObject <Spawnfile>(); var spawnList = spawnFile.spawnPoints.Values.ToList(); if (spawnList.Count < 1) { return(null); } return(spawnList); }