- Home /
CustomEditor for 2 List to look like dictionary
I want to make a custom editor for this class. http://forum.unity3d.com/threads/4-5-dictionary.250494/
Basically it wraps 2 lists to make it act like a dictionary. However they show up as 2 lists in the inspector. I want it to act like it is a dictionary. How do I do it?
This is how it currently looks... see attached.
Answer by VesuvianPrime · Jul 30, 2014 at 12:50 AM
If you do some reading on custom inspectors and the GUILayout class you should find it pretty straight forward.
All you would need to do is:
1) start vertical
2) loop over the keys
3) start horizontal
4) make key field
5) make value field
6) end horizontal
7) end vertical
As for how you could provide a way for users to add additional keys: i'm not sure what the best way to present that would be. Dictionaries can't have null keys, so the Unity approach of setting the array size isn't going to cut it here.
thanks for the reply. what do you mean by start vertical/horizontal?
Take a look here: GUILayout
You'll find there are layout methods BeginHorizontal, EndHorizontal, BeginVertical, EndVertical. You can use these to specify how you want your controls to be arranged in the inspector.
I'm interpreting your question as you wanting there to be two columns, side by side, in the inspector:
To do this you need to begin a vertical layout, and then as you loop over each $$anonymous$$eyValuePair in the dictionary you want to begin a horizontal layout. That way when you make fields for the key and the value they will be adjacent.
Your answer
Follow this Question
Related Questions
The name 'Joystick' does not denote a valid type ('not found') 2 Answers
Custom Editor for Map/Dictionary in Unity 0 Answers
Detecting serialization reload in editor 1 Answer
Serialize Texture3D 1 Answer
Big Problem Serializing 0 Answers