/**
* UniWindowController 的示例脚本
*
* Author: Kirurobo http://twitter.com/kirurobo
* License: MIT
*/
using System;
using UnityEngine;
using UnityEngine.Serialization;
using UnityEngine.UI;
namespace Kirurobo
{
///
/// 使用 Toggle 开关 WindowController 设置的示例
///
public class UiSampleController : MonoBehaviour
{
private UniWindowController uniwinc;
private UniWindowMoveHandle uniWinMoveHandle;
private RectTransform canvasRect;
private float mouseMoveSS = 0f; // 鼠标轨迹平方和。[px^2]
private float mouseMoveSSThreshold = 36f; // 点击(非拖拽)阈值。[px^2]
private Vector3 lastMousePosition; // 右键点击位置。
private float lastEventOccurredTime = -5f; // 上次事件发生的时间戳 [s]
private float eventMessageTimeout = 1f; // 在此时间段内显示事件消息 [s]
#if ENABLE_LEGACY_INPUT_MANAGER
private float touchDuration = 0f;
private float touchDurationThreshold = 0.5f; // 长按时间阈值。[s]
#endif
public Toggle transparentToggle;
public Slider alphaSlider;
public Toggle topmostToggle;
public Toggle bottommostToggle;
[FormerlySerializedAs("maximizedToggle")] public Toggle zoomedToggle;
public Toggle dragMoveToggle;
public Toggle allowDropToggle;
public Dropdown fitWindowDropdown;
public Toggle showBorderlineToggle;
public Button widthDownButton;
public Button widthUpButton;
public Button heightDownButton;
public Button heightUpButton;
public Dropdown transparentTypeDropdown;
public Dropdown hitTestTypeDropdown;
public Toggle clickThroughToggle;
public Image pickedColorImage;
public Text pickedColorText;
public Text messageText;
public Text clientSizeText;
public Button menuCloseButton;
public RectTransform menuPanel;
public RectTransform borderlinePanel;
///
/// 初始化
///
void Start()
{
// 查找 UniWindowController
uniwinc = UniWindowController.current;
// 查找 UniWindowDragMove
uniWinMoveHandle = GameObject.FindAnyObjectByType();
// 获取 Canvas 的 RectTransform
if (menuPanel) canvasRect = menuPanel.GetComponentInParent