/// <summary>
        /// Initializes the settings view.
        /// </summary>
        /// <param name="vis">The visualization that will be configured by this settings view.</param>
        /// <param name="showStaticObjects">Whether static study objects should be shown in the settings view.</param>
        /// <param name="showSpeedSettings">Whether speed settings should be shown in the settings view.</param>
        public override void Init(IConfigurableVisualization vis, bool showStaticObjects = true, bool showSpeedSettings = false)
        {
            if (vis == null)
            {
                return;
            }

            settings            = vis.Settings;
            settingsViewObjects = new List <SettingsViewObject>();

            this.showStaticObjects = showStaticObjects;
            this.showSpeedSettings = showSpeedSettings;

            int i = 0;

            // create settings prefab for each object
            if (SettingsPrefab && Services.DataManager() != null)
            {
                foreach (var dataSet in Services.DataManager().DataSets.Values)
                {
                    if (this.showStaticObjects || dataSet.IsStatic == false)
                    {
                        var settingsViewObject = GameObject.Instantiate <SettingsViewObject>(SettingsPrefab, this.transform);
                        settingsViewObject.transform.localPosition = new Vector3(StartPositionX, StartPositionY - (i * OffsetY), -0.009f);
                        settingsViewObject.DataSet = dataSet;
                        settingsViewObject.Init(this.showSpeedSettings);
                        for (int idx = 0; idx < settings.ObjectIds.Count; idx++)
                        {
                            if (settings.ObjectIds[idx] == dataSet.Id)
                            {
                                settingsViewObject.IsObjectSelected = true;
                                if (this.showSpeedSettings)
                                {
                                    if (settings.TryGet("useSpeed", out List <bool> useSpeedList))
                                    {
                                        if (useSpeedList != null && useSpeedList.Count == settings.ObjectIds.Count)
                                        {
                                            settingsViewObject.IsUseSpeedSelected = useSpeedList[idx];
                                        }
                                    }
                                }
                            }
                        }

                        settingsViewObjects.Add(settingsViewObject);
                        i++;
                    }
                }
            }

            Transform cameraTransform = CameraCache.Main ? CameraCache.Main.transform : null;

            if (cameraTransform != null)
            {
                transform.position = cameraTransform.position + (0.5f * cameraTransform.forward);
                ////transform.LookAt(cameraTransform.position, Vector3.up);
                Quaternion rotation = Quaternion.LookRotation(cameraTransform.position + cameraTransform.forward, Vector3.up);
                transform.rotation = rotation;
            }
        }
예제 #2
0
        /// <summary>
        /// Initializes the settings view.
        /// </summary>
        /// <param name="vis">The visualization that will be configured by this settings view.</param>
        /// <param name="showStaticObjects">Whether static study objects should be shown in the settings view.</param>
        /// <param name="showSpeedSettings">Whether speed settings should be shown in the settings view.</param>
        public override void Init(IConfigurableVisualization vis, bool showStaticObjects = true, bool showSpeedSettings = false)
        {
            if (vis == null)
            {
                return;
            }

            VisProperties settings = vis.Settings;

            visId = vis.Settings.VisId;
            settingsViewObjects = new List <SettingsViewObject>();

            int i = 0;

            // create settings prefab for each object
            if (SettingsPrefab && Services.DataManager() != null)
            {
                foreach (var dataSetElem in Services.DataManager().DataSets.Values)
                {
                    AnalysisObject dataSet            = (AnalysisObject)dataSetElem;
                    var            settingsViewObject = GameObject.Instantiate <SettingsViewObject>(SettingsPrefab, this.transform);
                    settingsViewObject.transform.localPosition = new Vector3(StartPositionX, StartPositionY - (i * OffsetY), -0.009f);
                    settingsViewObject.DataSet = dataSet;
                    settingsViewObject.Init();
                    for (int idx = 0; idx < settings.ObjectIds.Count; idx++)
                    {
                        if (settings.ObjectIds[idx] == dataSetElem.Id)
                        {
                            settingsViewObject.IsObjectSelected = true;
                            if (settings.TryGet("useSpeed", out List <bool> useSpeedList))
                            {
                                if (useSpeedList != null && useSpeedList.Count == settings.ObjectIds.Count)
                                {
                                    settingsViewObject.IsUseSpeedSelected = useSpeedList[idx];
                                }
                            }
                        }
                    }

                    settingsViewObjects.Add(settingsViewObject);
                    i++;
                }
            }
        }
예제 #3
0
 /// <summary>
 /// Initializes the settings view.
 /// </summary>
 /// <param name="vis">The visualization that will be configured by this settings view.</param>
 /// <param name="showStaticObjects">Whether static study objects should be shown in the settings view.</param>
 /// <param name="showSpeedSettings">Whether speed settings should be shown in the settings view.</param>
 public abstract void Init(IConfigurableVisualization vis, bool showStaticObjects = true, bool showSpeedSettings = false);