public SubjectsContainer(BodyContainer parent, SituationsBiomesSubject situationsSubjects) : base(parent) { foreach (ObjectPair <ScienceSituation, BiomesSubject> situation in situationsSubjects) { Situations.Add(new SituationContainer(situation)); } }
public BodyContainer(KsmGuiBase parent, CelestialBody body, SituationsBiomesSubject situationsAndSubjects) : base(parent) { KsmGuiHeader header = new KsmGuiHeader(this, body.name, KsmGuiStyle.boxColor); header.TextObject.TextComponent.fontStyle = FontStyles.Bold; header.TextObject.TextComponent.color = Lib.KolorToColor(Lib.Kolor.Orange); header.TextObject.TextComponent.alignment = TextAlignmentOptions.Left; bodyToggle = new KsmGuiIconButton(header, Textures.KsmGuiTexHeaderArrowsUp, ToggleBody); bodyToggle.SetIconColor(Lib.Kolor.Orange); bodyToggle.MoveAsFirstChild(); SubjectsContainer = new SubjectsContainer(this, situationsAndSubjects); }
public void AddSubject(ExperimentInfo expInfo, int bodyIndex, ScienceSituation scienceSituation, int biomeIndex, SubjectData subjectData) { BodiesSituationsBiomesSubject bodiesSituationsBiomesSubject; if (!TryGetValue(expInfo, out bodiesSituationsBiomesSubject)) { bodiesSituationsBiomesSubject = new BodiesSituationsBiomesSubject(); Add(expInfo, bodiesSituationsBiomesSubject); } SituationsBiomesSubject situationsBiomesSubject; if (!bodiesSituationsBiomesSubject.TryGetValue(bodyIndex, out situationsBiomesSubject)) { situationsBiomesSubject = new SituationsBiomesSubject(); bodiesSituationsBiomesSubject.Add(bodyIndex, situationsBiomesSubject); } BiomesSubject biomesSubject; if (!situationsBiomesSubject.TryGetValue(scienceSituation, out biomesSubject)) { biomesSubject = new BiomesSubject(); situationsBiomesSubject.Add(scienceSituation, biomesSubject); } List <SubjectData> subjectDataList; if (!biomesSubject.TryGetValue(biomeIndex, out subjectDataList)) { subjectDataList = new List <SubjectData>(); biomesSubject.Add(biomeIndex, subjectDataList); } if (subjectData != null) { subjectDataList.Add(subjectData); } }