Skip to content

Instantly share code, notes, and snippets.

@tsubaki
Created February 14, 2022 06:51
Show Gist options
  • Select an option

  • Save tsubaki/947270e7361502de82e3088413df9421 to your computer and use it in GitHub Desktop.

Select an option

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
Copy Markdown
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