Skip to content

Instantly share code, notes, and snippets.

@tsubaki
Created February 14, 2022 06:51
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tsubaki/947270e7361502de82e3088413df9421 to your computer and use it in GitHub Desktop.
Save tsubaki/947270e7361502de82e3088413df9421 to your computer and use it in GitHub Desktop.
UnityEditorのToolBarのVisualElementにアクセスして、PlayButtonを消したり表示したりするコード
using System.Collections;
using System.Collections.Generic;
using UnityEditor;
using UnityEditor.UIElements;
using UnityEngine;
using System;
using System.Reflection;
using UnityEngine.UIElements;
public static class HidwPlayButton
{
static VisualElement RootVisualElement
{
get
{
const string toolbarTypeName = "UnityEditor.Toolbar";
const string instanceFieldName = "get";
const string visualElementFieldName = "m_Root";
var toolbarType = typeof(Editor).Assembly.GetType(toolbarTypeName);
var toolbarInstanceField = toolbarType.GetField(instanceFieldName, BindingFlags.Public | BindingFlags.Static);
var visualElementInstanceField = toolbarType.GetField(visualElementFieldName, BindingFlags.NonPublic | BindingFlags.Instance);
var toolbarInstance = toolbarInstanceField.GetValue(null);
var visualElementInstance = visualElementInstanceField.GetValue(toolbarInstance) as VisualElement;
return visualElementInstance;
}
}
[MenuItem("Play Mode/Hide")]
public static void Hide() => RootVisualElement.Q("PlayMode").visible = false;
[MenuItem("Play Mode/Show")]
public static void Show() => RootVisualElement.Q("PlayMode").visible = true;
}
@tsubaki
Copy link
Author

tsubaki commented Feb 14, 2022

メニューのHideを押した結果

image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment