public void SpawnPreassignedModules() { if (!spawnSettings.useSpawnSettings || CollectionEx.IsNullOrEmpty(spawnSettings.configurationOptions)) { return; } ModularCarPresetConfig modularCarPresetConfig = spawnSettings.configurationOptions[UnityEngine.Random.Range(0, spawnSettings.configurationOptions.Length)]; if (Interface.CallHook("OnVehicleModulesAssign", this, modularCarPresetConfig.socketItemDefs) != null) { return; } for (int i = 0; i < modularCarPresetConfig.socketItemDefs.Length; i++) { ItemModVehicleModule itemModVehicleModule = modularCarPresetConfig.socketItemDefs[i]; if (itemModVehicleModule != null && base.Inventory.SocketsAreFree(i, itemModVehicleModule.socketsTaken)) { itemModVehicleModule.doNonUserSpawn = true; Item item = ItemManager.Create(itemModVehicleModule.GetComponent <ItemDefinition>(), 1, 0uL); float num = UnityEngine.Random.Range(spawnSettings.minStartHealthPercent, spawnSettings.maxStartHealthPercent); item.condition = item.maxCondition * num; if (!TryAddModule(item)) { item.Remove(); } } } Interface.CallHook("OnVehicleModulesAssigned", this, modularCarPresetConfig.socketItemDefs); }
public override IQueryable <TEntity> GetAllIncluding(params Expression <Func <TEntity, object> >[] propertySelectors) { IQueryable <TEntity> queryable = ((IEnumerable <TEntity>)Table).AsQueryable(); if (!CollectionEx.IsNullOrEmpty <Expression <Func <TEntity, object> > >(propertySelectors)) { foreach (Expression <Func <TEntity, object> > expression in propertySelectors) { queryable = queryable.Include <TEntity, object>(expression); } } return(queryable); }