/// <summary>
        /// Simple wrapper
        /// </summary>
        /// <param name="currentValue"></param>
        /// <param name="settings"></param>
        /// <returns></returns>
        private int AudibleSelectionGrid(int currentValue, ref ProfileData.ExperimentSettings settings)
        {
            int newValue = GUILayout.SelectionGrid(currentValue, filterList.ToArray(), 2, GUILayout.ExpandWidth(true));

            if (newValue != currentValue)
            {
                audio.PlayUI("click1");
                settings.Filter = (ProfileData.ExperimentSettings.FilterMethod)newValue;
            }

            return(newValue);
        }
Example #2
0
        /// <summary>
        /// A shortcut to get experiment settings
        /// </summary>
        /// <param name="expid"></param>
        /// <returns></returns>
        public ProfileData.ExperimentSettings this[string expid]
        {
            get
            {
                if (settings.ContainsKey(expid))
                {
                    return(settings[expid]);
                }

                // I never expect to see this. If it shows up, something in
                // loading or initialization has broken
                Log.Warning("Profile '{0}' has no settings for expid {1}; creating a default", name, expid);

                settings[expid] = new ProfileData.ExperimentSettings();

                return(settings[expid]);
            }

            private set
            {
                settings.Add(expid.ToLower(), value);
            }
        }
Example #3
0
/******************************************************************************
*                    Implementation Details
******************************************************************************/


        public ExperimentObserver(StorageCache cache, ProfileData.ExperimentSettings expSettings, BiomeFilter filter, ScanInterface scanMapInterface, string expid)
        {
            settings            = expSettings;
            biomeFilter         = filter;
            requireControllable = true;

            if (scanMapInterface == null)
            {
                Log.Warning("ExperimentObserver for {0} given null scanning interface. Using default.", expid);
                scanMapInterface = new DefaultScanInterface();
            }

            scanInterface = scanMapInterface;

            experiment = ResearchAndDevelopment.GetExperiment(expid);

            if (experiment == null)
            {
                Log.Error("Failed to get experiment '{0}'", expid);
            }

            storage = cache;
            Rescan();
        }
Example #4
0
 public SurfaceSampleObserver(StorageCache cache, ProfileData.ExperimentSettings settings, BiomeFilter filter,
                              ScanInterface scanInterface)
     : base(cache, settings, filter, scanInterface, "surfaceSample")
 {
 }
 public EvaReportObserver(StorageCache cache, ProfileData.ExperimentSettings settings, BiomeFilter filter,
                          ScanInterface scanInterface, string expid = "evaReport")
     : base(cache, settings, filter, scanInterface, expid)
 {
 }
 public RequiresCrew(StorageCache cache, ProfileData.ExperimentSettings settings, BiomeFilter filter, ScanInterface scanInterface, string expid)
     : base(cache, settings, filter, scanInterface, expid)
 {
     this.requireControllable = false;
 }