80 lines
1.9 KiB
C#
80 lines
1.9 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using Unity.VisualScripting;
|
|
using UnityEngine.UI;
|
|
using UnityEngine;
|
|
using UnityEngine.EventSystems;
|
|
using ZXL.Scripts.UI;
|
|
|
|
namespace ZXL
|
|
{
|
|
public enum ConctrolType
|
|
{
|
|
拷贝,
|
|
删除,
|
|
重命名,
|
|
新建文件夹,
|
|
}
|
|
|
|
public class ConctrolUILogic : UIBase, IPointerEnterHandler, IPointerExitHandler
|
|
{
|
|
public bool isEnter = false;
|
|
public List<ConctrolItem> List = new List<ConctrolItem>();
|
|
public Button btnItem;
|
|
|
|
void Awake()
|
|
{
|
|
btnItem = transform.FindChildDeep<Button>("btnItem");
|
|
btnItem.gameObject.SetActive(false);
|
|
Gen();
|
|
}
|
|
|
|
private void Start()
|
|
{
|
|
ZMouse.Instance.MouseUp1 += MouseUp;
|
|
ZMouse.Instance.MouseDown0 += MouseCancel;
|
|
ZMouse.Instance.MouseDown1 += MouseCancel;
|
|
}
|
|
|
|
private void MouseCancel(object obj)
|
|
{
|
|
Close();
|
|
}
|
|
|
|
private void MouseUp(object arg1, object arg2)
|
|
{
|
|
if (isEnter)
|
|
{
|
|
Open();
|
|
}
|
|
}
|
|
|
|
void Gen()
|
|
{
|
|
var strings = Enum.GetNames(typeof(ConctrolType));
|
|
foreach (var se in strings)
|
|
{
|
|
var go = GameObject.Instantiate(btnItem.gameObject, btnItem.transform.parent);
|
|
go.SetActive(true);
|
|
var item = go.AddComponent<ConctrolItem>();
|
|
item.SetConctrol(Enum.Parse<ConctrolType>(se),OnClickConctrol);
|
|
List.Add(item);
|
|
}
|
|
}
|
|
|
|
private void OnClickConctrol(ConctrolType obj)
|
|
{
|
|
Debug.Log(obj);
|
|
}
|
|
|
|
public void OnPointerEnter(PointerEventData eventData)
|
|
{
|
|
isEnter = true;
|
|
}
|
|
|
|
public void OnPointerExit(PointerEventData eventData)
|
|
{
|
|
isEnter = false;
|
|
}
|
|
}
|
|
} |