Пример #1
0
        public static void SetServiceTuningFromKey(Service service, ServiceSettingKey key)
        {
            service.Tuning.kCost             = key.cost;
            service.Tuning.kIsRecurrent      = key.reoccuring;
            service.Tuning.kMaxNumNPCsInPool = key.numInPool;

            ServiceNPCSpecifications.ServiceSpecifications spec;
            if (ServiceNPCSpecifications.sServiceSpecifications.TryGetValue(service.ServiceType.ToString(), out spec))
            {
                spec.Ages        = key.validAges;
                spec.UseHoverbot = key.useBots;
                spec.UseServobot = key.useBots;

                if (key.tuningDefault != null && key.tuningDefault.useBots && key.tuningDefault.uniforms.Count > 0 && GameUtils.GetCurrentWorld() == WorldName.FutureWorld)
                {
                    int defaults = (int)WorldName.Undefined;
                    int bot      = (int)WorldName.FutureWorld;

                    // have to switch the uniforms
                    if (!key.useBots)
                    {
                        spec.Uniforms[bot] = key.tuningDefault.uniforms[defaults];
                    }
                    else if (key.useBots)
                    {
                        spec.Uniforms[bot] = key.tuningDefault.uniforms[bot];
                    }
                }

                ServiceNPCSpecifications.sServiceSpecifications[service.ServiceType.ToString()] = spec;
            }
        }
Пример #2
0
 public static void InitDefaultServiceTunings()
 {
     foreach (Service service in Services.AllServices)
     {
         ServiceSettingKey key;
         if (Register.Settings.serviceSettings.TryGetValue(service.ServiceType, out key))
         {
             if (key.tuningDefault == null)
             {
                 ServiceSettingKey def = new ServiceSettingKey(service);
                 key.tuningDefault = def;
             }
             SetServiceTuningFromKey(service, key);
         }
     }
 }
Пример #3
0
        protected override void PrivatePerform(IEnumerable <Item> results)
        {
            base.PrivatePerform(results);

            ServiceSettingKey key = Register.Settings.GetSettingsForService(mData);

            CASAgeGenderFlags validFlags = CASAgeGenderFlags.None;

            foreach (CASAgeGenderFlags flag in mAgeSpecies)
            {
                validFlags |= flag;
            }

            key.validAges = validFlags;
            key.SetSettings(mData);
        }
Пример #4
0
        public static void ResetSettings()
        {
            foreach (Service service in Services.AllServices)
            {
                ServiceSettingKey key;
                if (Register.Settings.serviceSettings.TryGetValue(service.ServiceType, out key))
                {
                    if (key.tuningDefault == null)
                    {
                        ServiceSettingKey def = new ServiceSettingKey(service);
                        key.tuningDefault = def;
                    }
                    SetServiceTuningFromKey(service, key.tuningDefault);
                }
            }

            sSettings = null;
        }
Пример #5
0
        public static void SetServiceTuningFromKey(Service service, ServiceSettingKey key)
        {            
            service.Tuning.kCost = key.cost;
            service.Tuning.kIsRecurrent = key.reoccuring;
            service.Tuning.kMaxNumNPCsInPool = key.numInPool;           

            ServiceNPCSpecifications.ServiceSpecifications spec;
            if (ServiceNPCSpecifications.sServiceSpecifications.TryGetValue(service.ServiceType.ToString(), out spec))
            {                
                spec.Ages = key.validAges;
                spec.UseHoverbot = key.useBots;
                spec.UseServobot = key.useBots;

                if (key.tuningDefault != null && key.tuningDefault.useBots && key.tuningDefault.uniforms.Count > 0 && GameUtils.GetCurrentWorld() == WorldName.FutureWorld)
                {
                    int defaults = (int)WorldName.Undefined;
                    int bot = (int)WorldName.FutureWorld;

                    // have to switch the uniforms
                    if (!key.useBots)
                    {
                        spec.Uniforms[bot] = key.tuningDefault.uniforms[defaults];
                    }
                    else if (key.useBots)
                    {
                        spec.Uniforms[bot] = key.tuningDefault.uniforms[bot];
                    }
                }

                ServiceNPCSpecifications.sServiceSpecifications[service.ServiceType.ToString()] = spec;
            }            
        }