using System; using System.Collections.Generic; using UnityEngine; using UVC.UI.Tooltip; using UVC.UI.Window.PropertyWindow; using UVC.Util; public class PropertyWindowSample : MonoBehaviour { // Start is called once before the first execution of Update after the MonoBehaviour is created void Start() { TooltipManager.Instance.Initialize(); PropertyWindow.Instance.LoadProperties(new List { new StringProperty("prop1", "String Property", "Initial Value") { Description = "This is a sample string property.", Tooltip = "Enter a string value here.", IsReadOnly = false }, new IntProperty("prop2", "Int Property", 42, true) { Description = "This is a sample integer property.", Tooltip = "Enter an integer value here.", IsReadOnly = false }, new IntRangeProperty("prop2_range", "Int Range Property", new Tuple(0, 100)) { Description = "This is a sample integer range property.", Tooltip = "Select an integer value within the range here.", IsReadOnly = false }, new FloatRangeProperty("prop3_range", "Float Range Property", new Tuple(0.0f, 1.0f)) { Description = "This is a sample float range property.", Tooltip = "Select a float value within the range here.", IsReadOnly = false }, new FloatProperty("prop3", "Float Property", 0.5f, true) { Description = "This is a sample float property.", Tooltip = "Enter an float value here.", IsReadOnly = false }, new BoolProperty("prop4", "Boolean Property", true) { Description = "This is a sample boolean property.", Tooltip = "Toggle the boolean value here.", IsReadOnly = false }, new ColorProperty("prop5", "Color Property", Color.red) { Description = "This is a sample color property.", Tooltip = "Select a color here.", IsReadOnly = false }, new Vector2Property("prop6_vec2", "Vector2 Property", new Vector2(1, 2)) { Description = "This is a sample Vector2 property.", Tooltip = "Enter a Vector2 value here.", IsReadOnly = false }, new Vector3Property("prop6_vec3", "Vector3 Property", new Vector3(1, 2, 3)) { Description = "This is a sample Vector3 property.", Tooltip = "Enter a Vector3 value here.", IsReadOnly = false }, new DateProperty("prop6_date", "Date Property", System.DateTime.Now) { //Description = "This is a sample date property.", Tooltip = "Select a date here.", IsReadOnly = false }, new DateTimeProperty("prop6_datetime", "DateTime Property", System.DateTime.Now) { Description = "This is a sample date-time property.", Tooltip = "Select a date and time here.", IsReadOnly = false }, new DateRangeProperty("prop6_daterange", "Date Range Property", new Tuple(DateTime.Now.AddDays(-7), DateTime.Now)) { Description = "This is a sample date range property.", Tooltip = "Select a date range here.", IsReadOnly = false }, new DateTimeRangeProperty("prop6_datetimerange", "DateTime Range Property", new Tuple(DateTime.Now.AddHours(-1), DateTime.Now)) { Description = "This is a sample date-time range property.", Tooltip = "Select a date-time range here.", IsReadOnly = false }, new EnumProperty("prop6", "Enum Property", SampleEnum.Option1) { Description = "This is a sample enum property.", Tooltip = "Select an option here.", IsReadOnly = false }, new ListProperty("prop7", "List Property", new List { "Item1", "Item2", "Item3" }, "Item1") { Description = "This is a sample list property.", Tooltip = "Manage the list items here.", IsReadOnly = false }, new RadioGroupProperty("prop8", "Radio Group Property", new List { "Option1", "Option2", "Option3" }, "Option1") { Description = "This is a sample radio group property.", Tooltip = "Select one option here.", IsReadOnly = false } }); PropertyWindow.Instance.PropertyValueChanged += (sender, e) => { Debug.Log($"Property Id:{e.PropertyId}, type:{e.PropertyType}, newValue: {e.NewValue}"); //CursorManager.Instance.SetCursor(CursorType.HandPoint); }; } enum SampleEnum { Option1, Option2, Option3 } }