internal static int InsertDesignModuleInfo(SQLiteConnection db, DesignModuleInfo value) { SQLiteConnection sqLiteConnection = db; string insertDesignModule = Queries.InsertDesignModule; object[] objArray1 = new object[6] { (object)value.DesignSectionInfo.ID.ToSQLiteValue(), (object)value.MountNodeName.ToSQLiteValue(), (object)value.ModuleID.ToSQLiteValue(), (object)value.WeaponID.ToNullableSQLiteValue(), null, null }; object[] objArray2 = objArray1; ModuleEnums.StationModuleType?stationModuleType = value.StationModuleType; string nullableSqLiteValue = (stationModuleType.HasValue ? new int?((int)stationModuleType.GetValueOrDefault()) : new int?()).ToNullableSQLiteValue(); objArray2[4] = (object)nullableSqLiteValue; objArray1[5] = (object)value.DesignID.ToNullableSQLiteValue(); object[] objArray3 = objArray1; string query = string.Format(insertDesignModule, objArray3); int num = sqLiteConnection.ExecuteIntegerQuery(query); if (value.PsionicAbilities == null) { value.PsionicAbilities = new List <ModulePsionicInfo>(); } foreach (ModulePsionicInfo psionicAbility in value.PsionicAbilities) { psionicAbility.ID = db.ExecuteIntegerQuery(string.Format(Queries.InsertModulePsionicAbility, (object)num.ToSQLiteValue(), (object)((int)psionicAbility.Ability).ToSQLiteValue())); } return(num); }
private static DesignSectionInfo GetDesignSectionInfoFromRow( Row row, SQLiteConnection db, AssetDatabase assets) { int integer = row[0].SQLiteValueToInteger(); string filename = row[1].SQLiteValueToString(); DesignSectionInfo designSection = new DesignSectionInfo() { ID = integer, FilePath = filename, ShipSectionAsset = assets.GetShipSectionAsset(filename), WeaponBanks = DesignsCache.GetWeaponBankInfosForDesignSection(db, integer).ToList <WeaponBankInfo>(), Techs = DesignsCache.GetTechsForDesignSection(db, integer).ToList <int>() }; List <DesignModuleInfo> list = DesignsCache.GetModuleInfosForDesignSection(db, designSection).ToList <DesignModuleInfo>(); designSection.Modules = new List <DesignModuleInfo>(); foreach (LogicalModuleMount module in designSection.ShipSectionAsset.Modules) { LogicalModuleMount mount = module; DesignModuleInfo designModuleInfo = list.FirstOrDefault <DesignModuleInfo>((Func <DesignModuleInfo, bool>)(x => x.MountNodeName == mount.NodeName)); if (designModuleInfo != null) { designSection.Modules.Add(designModuleInfo); list.Remove(designModuleInfo); } } return(designSection); }
internal static DesignModuleInfo GetDesignModuleInfoFromRow( SQLiteConnection db, Row row, DesignSectionInfo designSection) { int integer = row[0].SQLiteValueToInteger(); row[1].SQLiteValueToInteger(); DesignModuleInfo designModuleInfo1 = new DesignModuleInfo(); designModuleInfo1.ID = integer; designModuleInfo1.DesignSectionInfo = designSection; designModuleInfo1.ModuleID = row[2].SQLiteValueToInteger(); designModuleInfo1.WeaponID = row[3].SQLiteValueToNullableInteger(); designModuleInfo1.MountNodeName = row[4].SQLiteValueToString(); DesignModuleInfo designModuleInfo2 = designModuleInfo1; int?nullableInteger = row[5].SQLiteValueToNullableInteger(); ModuleEnums.StationModuleType?nullable = nullableInteger.HasValue ? new ModuleEnums.StationModuleType?((ModuleEnums.StationModuleType)nullableInteger.GetValueOrDefault()) : new ModuleEnums.StationModuleType?(); designModuleInfo2.StationModuleType = nullable; designModuleInfo1.DesignID = row.Count <string>() > 6 ? row[6].SQLiteValueToNullableInteger() : new int?(); designModuleInfo1.PsionicAbilities = DesignsCache.GetModulePsionicInfosByDesignModule(db, integer).ToList <ModulePsionicInfo>(); return(designModuleInfo1); }