/// <summary> /// Adds a UnusualObjectUI to the display based on the passed in UnusualObjectSettings. /// </summary> /// <param name="unusualObject">The object to add to the UI display.</param> public void AddTrialObject(BasicTrialManager.UnusualObjectSettings unusualObject) { if (UnusualObjectList == null) { UnusualObjectList = new List <UnusualObjectUI> (); } UnusualObjectUI unusualUI = GameObject.Instantiate <UnusualObjectUI> (UnusualObjectUIPrefab); unusualUI.InitializeUI(this, unusualObject); unusualUI.GetComponent <RectTransform> ().SetParent(ObjectDisplayLayout.transform, false); UnusualObjectList.Add(unusualUI); }
/// <summary> /// Sets the UI to display the passed in UnusualObjectSettings. /// </summary> /// <param name="settings">The settings to display.</param> public void SetUI(BasicTrialManager.UnusualObjectSettings settings) { Speed.text = settings.Speed.ToString(); Scale.text = settings.Scale.ToString(); SpawnTime.text = settings.SpawnTime.ToString(); ColorPicker.SetJSONColor(settings.Color); Shape.value = (int)settings.Shape; Path.value = (int)settings.Path; SetPreviewColor(); SetPreviewImage(); }
/// <summary> /// Retrieves the UnuualObjetSettings as displayed in the UI. /// </summary> /// <returns>An UnusualObjectSettings filled by the UI.</returns> public BasicTrialManager.UnusualObjectSettings GetSettings() { BasicTrialManager.UnusualObjectSettings settings = new BasicTrialManager.UnusualObjectSettings { Speed = float.Parse(Speed.text), Scale = float.Parse(Scale.text), SpawnTime = float.Parse(SpawnTime.text), Color = ColorPicker.GetJSONColor(), Shape = (UnusualObject.ObjectShapes)Shape.value, Path = (UnusualObject.ObjectPaths)Path.value }; return(settings); }
/// <summary> /// Sets the settings of the object. /// </summary> /// <param name="settings">The UnusualObjectSettings to use.</param> /// <param name="camera">The camera to use to determine spawn position.</param> public void SetObjectSettings(BasicTrialManager.UnusualObjectSettings settings, Camera camera) { Settings = settings; float screenAspect = (float)Screen.width / (float)Screen.height; float cameraHeight = camera.orthographicSize * 2; CameraBounds = new Bounds(camera.transform.position, new Vector3(cameraHeight * screenAspect, cameraHeight, 0)); SpriteRenderer = GetComponent <SpriteRenderer> (); Rigidbody2D = GetComponent <Rigidbody2D> (); SpriteRenderer.sprite = GetObjectSprite(settings.Shape); SpriteRenderer.color = settings.Color.GetColor(); float objectScale = BASE_SIZE / SpriteRenderer.sprite.rect.width; transform.localScale = new Vector3(objectScale, objectScale, 1) * Settings.Scale; SetBasicSpeedAndPosition(cameraHeight, screenAspect); }
/// <summary> /// Initializes the UI with settings and the BasicTrialObjectDesignUI parent. /// </summary> /// <param name="parent">The parent UI displaying this UI.</param> /// <param name="settings">The Settings to initialize this display with.</param> public void InitializeUI(BasicTrialObjectDesignUI parent, BasicTrialManager.UnusualObjectSettings settings) { RemoveButton.onClick.AddListener(delegate { parent.RemoveTrialObject(this); }); SetUI(settings); }