132 lines
5.3 KiB
C#
132 lines
5.3 KiB
C#
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<IPropertyItem>
|
|
{
|
|
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<int, int>(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<float, float>(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, DateTime>(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, DateTime>(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<string> { "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<string> { "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
|
|
}
|
|
}
|