Merge branch 'Patron' of https://github.com/TorchAPI/Torch into survival
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.ObjectModel;
|
||||
using System.ComponentModel;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
@@ -14,6 +15,7 @@ using Sandbox.Game;
|
||||
using Sandbox.Game.Gui;
|
||||
using Torch.API;
|
||||
using Torch.API.Managers;
|
||||
using Torch.Collections;
|
||||
using Torch.Managers;
|
||||
using Torch.Mod;
|
||||
using Torch.Server.ViewModels;
|
||||
@@ -102,7 +104,8 @@ namespace Torch.Server.Managers
|
||||
//remove the Torch mod to avoid running multiple copies of it
|
||||
DedicatedConfig.SelectedWorld.Checkpoint.Mods.RemoveAll(m => m.PublishedFileId == TorchModCore.MOD_ID);
|
||||
foreach (var m in DedicatedConfig.SelectedWorld.Checkpoint.Mods)
|
||||
DedicatedConfig.Mods.Add(m.PublishedFileId);
|
||||
DedicatedConfig.Mods.Add(new ModItemInfo(m));
|
||||
Task.Run(() => DedicatedConfig.UpdateAllModInfosAsync());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -116,7 +119,8 @@ namespace Torch.Server.Managers
|
||||
//remove the Torch mod to avoid running multiple copies of it
|
||||
DedicatedConfig.SelectedWorld.Checkpoint.Mods.RemoveAll(m => m.PublishedFileId == TorchModCore.MOD_ID);
|
||||
foreach (var m in DedicatedConfig.SelectedWorld.Checkpoint.Mods)
|
||||
DedicatedConfig.Mods.Add(m.PublishedFileId);
|
||||
DedicatedConfig.Mods.Add(new ModItemInfo(m));
|
||||
Task.Run(() => DedicatedConfig.UpdateAllModInfosAsync());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -127,11 +131,10 @@ namespace Torch.Server.Managers
|
||||
|
||||
private void ImportWorldConfig(WorldViewModel world, bool modsOnly = true)
|
||||
{
|
||||
var sb = new StringBuilder();
|
||||
var mods = new MtObservableList<ModItemInfo>();
|
||||
foreach (var mod in world.Checkpoint.Mods)
|
||||
sb.AppendLine(mod.PublishedFileId.ToString());
|
||||
|
||||
DedicatedConfig.Mods = world.Checkpoint.Mods.Select(x => x.PublishedFileId).ToList();
|
||||
mods.Add(new ModItemInfo(mod));
|
||||
DedicatedConfig.Mods = mods;
|
||||
|
||||
|
||||
Log.Debug("Loaded mod list from world");
|
||||
@@ -159,7 +162,10 @@ namespace Torch.Server.Managers
|
||||
return;
|
||||
}
|
||||
|
||||
DedicatedConfig.Mods = checkpoint.Mods.Select(x => x.PublishedFileId).ToList();
|
||||
var mods = new MtObservableList<ModItemInfo>();
|
||||
foreach (var mod in checkpoint.Mods)
|
||||
mods.Add(new ModItemInfo(mod));
|
||||
DedicatedConfig.Mods = mods;
|
||||
|
||||
Log.Debug("Loaded mod list from world");
|
||||
|
||||
@@ -201,9 +207,14 @@ namespace Torch.Server.Managers
|
||||
checkpoint.SessionName = DedicatedConfig.WorldName;
|
||||
checkpoint.Settings = DedicatedConfig.SessionSettings;
|
||||
checkpoint.Mods.Clear();
|
||||
|
||||
foreach (var modId in DedicatedConfig.Mods)
|
||||
checkpoint.Mods.Add(new MyObjectBuilder_Checkpoint.ModItem(modId));
|
||||
|
||||
foreach (var mod in DedicatedConfig.Mods)
|
||||
{
|
||||
var savedMod = new MyObjectBuilder_Checkpoint.ModItem(mod.Name, mod.PublishedFileId, mod.FriendlyName);
|
||||
savedMod.IsDependency = mod.IsDependency;
|
||||
checkpoint.Mods.Add(savedMod);
|
||||
}
|
||||
Task.Run(() => DedicatedConfig.UpdateAllModInfosAsync());
|
||||
|
||||
MyObjectBuilderSerializer.SerializeXML(sandboxPath, false, checkpoint);
|
||||
|
||||
|
Reference in New Issue
Block a user