Пример #1
0
        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);
        }
Пример #2
0
        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);
        }