首先在Assets 目录下,创建文件夹Editor,接着创建一个脚本WSHGameObjectActive.cs

using UnityEngine;
//引入unity编辑器命名空间
using UnityEditor;
using System.Collections;

public class WSHGameObjectActive : ScriptableObject {

	public const string KeyName = "WSH/DisableSelectGameObect %#h";

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

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

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

		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);
	}
}

当选中物体时,就可以通过快捷键“Ctrl + Shift + H”激活或者关闭该物体。


Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐