Unity 编辑器扩展之Attribute特性实现脚本面板控制

本文介绍了如何在Unity中通过Attribute标签和自定义特性类实现类似Button组件的交互效果,如鼠标移入移出切换图片或显示/隐藏物体。通过定义一个枚举来选择实现模式,并在编辑器中动态显示相应的属性面板。

很多时候我们写一些公共工具或者通用脚本时,需要跟Unity组件一样实现某些功能,例如Button组件上的Transition选择之后会变化出相对应的模块。那么这个功能怎么实现呢?其实Unity提供了这种功能实现的方法,那就是Attribute标签,标记特性类。想具体知道是怎么实现的可以看下官方文档或者一些关于Attribute的博客。

实现

实现一个通用的鼠标对button移入移出切换图片或者显示/隐藏物体脚本。

首先,把自己要实现的功能脚本写完,我这里写的是对button移入移出的简单脚本

using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;

namespace Util
{
    public enum Mode 
    {
        /// <summary>
        /// UI事件
        /// </summary>
        UISprite,
        
        /// <summary>
        /// 物体隐藏显示
        /// </summary>
        UIObject,
    }
    
    public class UIEnterEvent : MonoBehaviour, IPointerEnterHandler, IPointerExitHandler, IPointerClickHandler
    {
        [Header("选择模式")] [SerializeField] private Mode uiMode; 
        
        //----------Object操作----------------
        [Header("移入时")] [SerializeField] private G
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值