- Home /
What is the easiest way to get mouse move events in inspectors?
I want to implement my own simplistic atlas editor in the inspector window. How do I get the relevant mouse move events?
There seems to be a property called EditorWindow.wantsMouseMove
, but I don't know how to set this for my particular inspector view.
Answer by Bunny83 · Apr 30, 2012 at 02:19 PM
You can't set wantsMouseMove in Editors since it's a property of EditorWindow. The whole editor is usually completly event driven. However mousemove events seems to not trigger the OnGUI / OnInspectorGUI callback, probably for performance reasons.
For what reason do you need mousemove events? Mousedrag-events are usually generated in all kind of windows. Also do you talk about mousemove events in the custom editor (inspector) itself, or in the scene view like the terrain editor?
The Terrain editor for example uses OnInspectorUpdate to repaint the whole inspector window when neccessary.
private void OnInspectorUpdate()
{
if (EditorUtility.hasAnyNewPreviewTexturesAvailable)
{
base.Repaint();
}
}
There are many ways to react to certain events.
I want to highlight the sprite within the atlas on mouseover, that is why I want to use the mousemove event. At the moment I do not know how implement highlighting either, but I'm working on it. I am using GUI.DrawTexture
to display the atlas.
Answer by Guessmyname · Apr 11, 2018 at 12:42 PM
I'm not sure when this got added exactly, but for Inspectors you can now just:
public override bool RequiresConstantRepaint()
{
return true;
}
Your answer
Follow this Question
Related Questions
How does one inspect static vars? 3 Answers
Editor: multiple Inspectors 3 Answers
Getting the selected enum value set in the Inspector 2 Answers
WrapMode not visible in inspector 1 Answer
Singleton & Inspector 1 Answer