public static MissionHubServer AddMission(this MissionHubServer s, ActiveMission m, bool insertTop = false, bool preventRegistryChange = false, int desiredIndex = -1) { if (insertTop && desiredIndex <= -1) { desiredIndex = 0; } s.contractRegistryNumber += Utils.getRandomByte() + 1; s.listingMissions.Add(string.Concat(s.contractRegistryNumber), m); var item = new FileEntry(MissionSerializer.generateMissionFile(m, s.contractRegistryNumber, s.groupName), "Contract#" + s.contractRegistryNumber); if (insertTop || desiredIndex >= 0) { s.listingsFolder.files.Insert(desiredIndex, item); } else { s.listingsFolder.files.Add(item); } var inst = m as Instance; if (inst != null) { inst.MissionComputer = s.comp; } return(s); }
public static IList <string> GetMisFileText(Mission mission) { if (mission is null) { throw new ArgumentNullException(nameof(mission)); } var multipleRecords = MissionSerializer.GetMultipleRecords(mission); var writer = new RecordWriter(multipleRecords); return(writer.GetTextLines()); }
public static Mission ReadMisFile(IList <string> lines) { var tokens = GetTokens(lines); return(MissionSerializer.GetMission(TokenParser.ParseTokens(tokens))); }
public static Mission ReadMisFile(string path) { var tokens = GetTokens(path); return(MissionSerializer.GetMission(TokenParser.ParseTokens(tokens))); }