private static void LoadEquip(Section sec, EquipTypes equipType) { var nickname = sec.GetFirstOf("nickname")[0]; _log.NewMessage(LogType.Garbage, "Universe: Parsing equipment {0}", nickname); var hash = CreateID(nickname.ToLowerInvariant()); // fail if equip already presents if (Gis.Equipment.FindByHash(hash) != null) return; var stIDSName = ""; if (sec.ContainsAnyOf("ids_name", "strid_name")) stIDSName = GetIDSParm(sec.GetAnySetting("ids_name", "strid_name")[0]); // TODO: ignore empty IDS based on setting //if (stIDSName == "") return; var infocard = ""; if (sec.ContainsAnyOf("ids_info")) infocard = GetIDSParm(sec.GetFirstOf("ids_info")[0]); float volume = 0; if (sec.ContainsAnyOf("volume")) volume = float.Parse(sec.GetFirstOf("volume")[0], Nfi); // Tested on Disco 4.87.6, no hits beyond this line. //var stIDSInfo1 = ""; //if (sec.ContainsAnyOf("ids_info1","ids_short_name")) // stIDSInfo1 = GetIDSParm(sec.GetAnySetting("ids_info1", "ids_short_name")[0]); // Careful with this one below! //if (stIDSInfo1 == "") return; //var stIDSInfo2 = ""; //if (sec.ContainsAnyOf("ids_info2")) // stIDSInfo2 = GetIDSParm(sec.GetFirstOf("ids_info2")[0]); //var stIDSInfo3 = ""; //if (sec.ContainsAnyOf("ids_info3")) // stIDSInfo3 = GetIDSParm(sec.GetFirstOf("ids_info3")[0]); //string keys = hash.ToString() + " 0x" + hash.ToString("X"); var hpType = ""; switch (equipType) { case EquipTypes.Engine: if (sec.ContainsAnyOf("hp_type")) hpType = sec.GetFirstOf("hp_type")[0]; break; case EquipTypes.Gun: hpType = sec.GetFirstOf("hp_gun_type")[0]; equipType = HpMap[hpType]; break; case EquipTypes.ShieldGen: hpType = sec.GetFirstOf("hp_type")[0]; equipType = HpMap[hpType]; break; case EquipTypes.CountermeasureDropper: hpType = "hp_countermeasure_dropper"; break; case EquipTypes.Thruster: hpType = "hp_thruster"; break; case EquipTypes.Cargo: break; default: break; } // ReSharper disable RedundantArgumentName Gis.Equipment.AddEquipmentRow( Hash: hash, Type: equipType.ToString(), Hardpoint: hpType, Nickname: nickname, Name: stIDSName, Infocard: infocard, Volume: volume); // ReSharper restore RedundantArgumentName }
private static void LoadEquip(Section sec, EquipTypes equipType) { var nickname = sec.GetFirstOf("nickname")[0]; _log.NewMessage(LogType.Garbage, "Universe: Parsing equipment {0}", nickname); var hash = CreateID(nickname.ToLowerInvariant()); // fail if equip already presents if (Gis.Equipment.FindByHash(hash) != null) { return; } var stIDSName = ""; if (sec.ContainsAnyOf("ids_name", "strid_name")) { stIDSName = GetIDSParm(sec.GetAnySetting("ids_name", "strid_name")[0]); } // TODO: ignore empty IDS based on setting //if (stIDSName == "") return; var infocard = ""; if (sec.ContainsAnyOf("ids_info")) { infocard = GetIDSParm(sec.GetFirstOf("ids_info")[0]); } float volume = 0; if (sec.ContainsAnyOf("volume")) { volume = float.Parse(sec.GetFirstOf("volume")[0], Nfi); } // Tested on Disco 4.87.6, no hits beyond this line. //var stIDSInfo1 = ""; //if (sec.ContainsAnyOf("ids_info1","ids_short_name")) // stIDSInfo1 = GetIDSParm(sec.GetAnySetting("ids_info1", "ids_short_name")[0]); // Careful with this one below! //if (stIDSInfo1 == "") return; //var stIDSInfo2 = ""; //if (sec.ContainsAnyOf("ids_info2")) // stIDSInfo2 = GetIDSParm(sec.GetFirstOf("ids_info2")[0]); //var stIDSInfo3 = ""; //if (sec.ContainsAnyOf("ids_info3")) // stIDSInfo3 = GetIDSParm(sec.GetFirstOf("ids_info3")[0]); //string keys = hash.ToString() + " 0x" + hash.ToString("X"); var hpType = ""; switch (equipType) { case EquipTypes.Engine: if (sec.ContainsAnyOf("hp_type")) { hpType = sec.GetFirstOf("hp_type")[0]; } break; case EquipTypes.Gun: hpType = sec.GetFirstOf("hp_gun_type")[0]; equipType = HpMap[hpType]; break; case EquipTypes.ShieldGen: hpType = sec.GetFirstOf("hp_type")[0]; equipType = HpMap[hpType]; break; case EquipTypes.CountermeasureDropper: hpType = "hp_countermeasure_dropper"; break; case EquipTypes.Thruster: hpType = "hp_thruster"; break; case EquipTypes.Cargo: break; default: break; } // ReSharper disable RedundantArgumentName Gis.Equipment.AddEquipmentRow( Hash: hash, Type: equipType.ToString(), Hardpoint: hpType, Nickname: nickname, Name: stIDSName, Infocard: infocard, Volume: volume); // ReSharper restore RedundantArgumentName }