Unity功能——编辑器模式下隐藏/显示游戏对象的快捷方法

声明:本文为个人笔记,用于学习研究使用非商用,内容为个人研究及综合整理所得,若有违规,请联系,违规必改。


Unity功能——编辑器模式下隐藏/显示游戏对象的快捷方法



一.开发环境

unity20XX.X.X
VS20XX


二.问题描述

在编辑器模式下,想快捷的显示/隐藏一个游戏对象.


三.解决方案原理及代码

实现原理:

对组件进行扩展方法.对MonoBehaviour ,Transform,GameObject 组件进行扩展方法
快捷键为Ctrl+Shift+H
注意:因为使用了UnityEditor命名空间,该脚本放在Editor 文件夹下.

对应代码:

/********************************************************************
* 版本声明: v1.0.0
* 类 名 称:ShowOrHideObjByInspect.cs
* 作者名称:明哲
* 创建日期:
* 对应U3D:Unity2018.2.3
* 功能描述:显示或隐藏Inspector面板上物体
*********************************************************************/
using UnityEditor;
using UnityEngine;

namespace MZ
{
    public class ShowOrHideObjByInspectTool : ScriptableObject
    {
        public const string KeyName = "MZSDK/Tools/显示隐藏物体 %#h";

        //根据当前有没有选中物体来判断可否用快捷键
        [MenuItem(KeyName, true)]
        static bool ValidateSelectEnableDisable()
        {
            GameObject[] go = GetSelectedGameObjects();

            if (go == null || go.Length == 0)
                return false;
            return true;
        }

        [MenuItem(KeyName)]
        static void SeletEnable()
        {
            bool enable = false;
            GameObject[] gos = GetSelectedGameObjects();

            foreach (GameObject go in gos)
            {
                enable = !go.activeInHierarchy;
                EnableGameObject(go, enable);
            }
        }

        //获得选中的物体
        static GameObject[] GetSelectedGameObjects()
        {
            return Selection.gameObjects;
        }

        //激活或关闭当前选中物体
        public static void EnableGameObject(GameObject parent, bool enable)
        {
            parent.gameObject.SetActive(enable);
        }
    }
}

四.总结

保持饥饿,保持愚蠢.
这世界唯一能够相信的就是你付出的努力和你走过的路.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ۓ明哲ڪ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值