public void AddModules(ModuleSpecification module, float count, AllowedEffects allowedEffects)
 {
     if (allowedEffects.HasFlags(AllowedEffects.Speed))
     {
         speed += module.speed * count;
     }
     if (allowedEffects.HasFlags(AllowedEffects.Productivity) && module.productivity > 0f)
     {
         productivity += module.productivity * count;
     }
     if (allowedEffects.HasFlags(AllowedEffects.Consumption))
     {
         consumption += module.consumption * count;
     }
 }
Beispiel #2
0
        public bool Allows(Module module)
        {
            if (module.SpeedBonus != 0 && !AllowedEffects.Contains("speed"))
            {
                return(false);
            }
            if (module.ProductivityBonus != 0 && !AllowedEffects.Contains("productivity"))
            {
                return(false);
            }
            if (module.ConsumptionBonus != 0 && !AllowedEffects.Contains("consumption"))
            {
                return(false);
            }

            return(allowedEffects.IsSupersetOf(module.EnumerateEffects()));
        }