/// <summary> /// Add module in setup operation /// </summary> /// <param name="in_module_name"></param> public void SetupAddModule(ExpansionInfo in_expansion_info, int in_selected_slot_index) { ExpansionSettingsBase expansion_settings = in_expansion_info.ConvertToSettings(in_selected_slot_index); expansion_settings.Active = true; m_settings_file.ModuleAdd(expansion_settings); ExpansionBase expansion_class; LoadExpansionMainClass(in_expansion_info.SectionName, out expansion_class); LoadedExpansionInfo loaded_expansion_info = new LoadedExpansionInfo(expansion_class, expansion_settings.ExpansionIndex, in_selected_slot_index); m_expansions.Add(loaded_expansion_info); // create tree information SetupCreateModuleTreeInfo(loaded_expansion_info, m_expansions.Count - 1); }
/// <summary> /// Creates tree info of one module /// </summary> /// <param name="in_expansion"></param> /// <param name="in_index"></param> private void SetupCreateModuleTreeInfo(LoadedExpansionInfo in_expansion, int in_index) { ExpansionInfo expansion_info = new ExpansionInfo(); in_expansion.ExpansionClass.GetExpansionInfo(expansion_info); if (expansion_info.SetupPages.Length > 0) { // create tree item ExpansionSetupTreeInfo info = new ExpansionSetupTreeInfo(expansion_info.Description, expansion_info.SetupPages[0], in_index, -1, in_expansion.SlotIndex); info.IsExpanded = true; for (int page_index = 0; page_index < expansion_info.SetupPages.Length; page_index++) { info.AddChild(new ExpansionSetupTreeInfo(expansion_info.SetupPages[page_index], in_index, page_index, in_expansion.SlotIndex)); } m_module_setup_tree_info.Add(info); } }