Beispiel #1
0
        public static void DatafileToProto <T>(string name, bool deleteAfter = true)
        {
            var dfs = Interface.Oxide.DataFileSystem;

            if (!dfs.ExistsDatafile(name))
            {
                return;
            }
            if (ProtoStorage.Exists(name))
            {
                Interface.Oxide.LogWarning("Failed to import JSON file: {0} already exists.", name);
                return;
            }
            try
            {
                var data = dfs.ReadObject <T>(name);
                ProtoStorage.Save(data, name);
                if (deleteAfter)
                {
                    File.Delete(dfs.GetFile(name).Filename);
                }
            }
            catch (Exception ex)
            {
                Interface.Oxide.LogException("Failed to convert datafile to proto storage: " + name, ex);
            }
        }
        public static void DatafileToProto <T>(string name, bool deleteAfter = true)
        {
            DataFileSystem dataFileSystem = Interface.Oxide.DataFileSystem;

            if (!dataFileSystem.ExistsDatafile(name))
            {
                return;
            }
            if (ProtoStorage.Exists(new string[] { name }))
            {
                Interface.Oxide.LogWarning("Failed to import JSON file: {0} already exists.", new object[] { name });
                return;
            }
            try
            {
                ProtoStorage.Save <T>(dataFileSystem.ReadObject <T>(name), new string[] { name });
                if (deleteAfter)
                {
                    File.Delete(dataFileSystem.GetFile(name).Filename);
                }
            }
            catch (Exception exception1)
            {
                Exception exception = exception1;
                Interface.Oxide.LogException(string.Concat("Failed to convert datafile to proto storage: ", name), exception);
            }
        }