Esempio n. 1
0
    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);
    }
Esempio n. 2
0
        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);
        }