public void AddResearchGroup(SerializableDefinitionId compDef, List <SerializableDefinitionId> defList) { var group = new ResearchGroup(compDef, defList); ResearchGroups[compDef] = group; ResearchGroupList.Add(group); }
public void AddResearchGroup(ResearchGroup group) { MyObjectBuilderType typeId; if (!MyObjectBuilderType.TryParse(group.ComponentId.TypeId, out typeId)) { return; } var compDef = new MyDefinitionId(typeId, group.ComponentId.SubtypeId); ResearchGroup existing; if (!group.OverwriteAllOthers && ResearchGroups.TryGetValue(compDef, out existing)) { foreach (var item in group.BlockDefinitons) { if (!existing.BlockDefinitons.Contains(item)) { existing.BlockDefinitons.Add(item); } } } else { ResearchGroups[compDef] = group; ResearchGroupList.Add(group); } }